Regex匹配从最后出现的键到另一个键的所有内容


Regex match everything from the last occurrence of key to another key

我有这样的文本:

OLD>> AAAAAA AAA - bb dsgsdg adgsdg adgsdg adgsdg GGGGGG GG sdgds AAAA GF-S sdg。西班牙。- 4353 ds ggs ggs ggs 343 33sdg sdgs ggs DGSAGG DSDG g

new text

AAAAAA AAA - bb dsssdg adsdg adsdg adsdg adsdg adsdg adsdg adsdg adsdg GGGGGG GG sdgds AAAA GF-S sdg。Asdg。AA sdgdsg - 4353 ds sdgdsgg343 33sdgdsgsagg dsdgsdg我想提取大写字符串(如([A-Z -]+){5,100})在数字前的最后一次出现:4353

所以在这种情况下,结果应该是:

AAAA GF-S

我试过/([A-Z -.]+){5,100} (.+) 4353/i,但它给了我第一个。

谢谢你的快速回答,我在搜索文本中做了修改。它应该是最后一个只有大写且长度大于5的表达式

更新

试试这个:

.*('b[A-Z][A-Z -.]{5,100})(?=.*4353)'K

现场演示

你可以使用这个正则表达式:

([A-Z][A-Z .-]{5,100})(?= [a-z .-]*4353)
<<h3> RegEx演示/h3>