我想匹配字符串
我的正则表达式:
我是一个初学者。
ababaaabaab
中前面有aa
的b
最后一个出现的位置。我的正则表达式:
(?<=a{2})b
但是它匹配的是前面有aaa
的第三个b
。我是一个初学者。
ababaaabaab
中前面有aa
的b
最后一个出现的位置。(?<=a{2})b
但是它匹配的是前面有aaa
的第三个b
。使用
(?<=(?<!a)a{2})b
--------------------------------------------------------------------------------
(?<= look behind to see if there is:
--------------------------------------------------------------------------------
(?<! look behind to see if there is not:
--------------------------------------------------------------------------------
a 'a'
--------------------------------------------------------------------------------
) end of look-behind
--------------------------------------------------------------------------------
a{2} 'a' (2 times)
--------------------------------------------------------------------------------
) end of look-behind
--------------------------------------------------------------------------------
b 'b'
b
匹配。 - Wiktor Stribiżew
(?<=a{2})
匹配的是紧接着两个a
的位置,但它并不检查在这两个a
之前是否还有其他的a
。额外的(?<!a)
是必需的,以确保当前位置之前只有 2 个a
。 - Wiktor Stribiżew