我有一个字符串 "ajjjjjjjjjaab"
我想要一个匹配最后一个 "ab"
的模式而不是整个字符串甚至 "aab"
.
/a.*?b/ # returns two groups
或者
/a.??b/ # matches last aab
两者都不起作用。
最佳答案
解决您的问题的一种简单方法是匹配:
.*(a.*b)
与第一
.*
贪婪,它会尽可能多地匹配。然后你会得到一个你真正需要的匹配组,( $1
)。请注意,这假设您匹配最后一次出现的模式。您可能想要 .*(a.*?b)
如果您有多个 b
s 靠近字符串的末尾,并且您想要最后一个 a
之后的第一个.
关于regex - 如何匹配满足我的正则表达式模式的最短可能的字符序列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5401571/