为什么模式A[^A]+A
在AWERTYUIOPAZXCA
中只匹配一次?
应为:AWERTYUIOPA
和AZXCA
。
https://regex101.com/r/Fd13U4/1
您的正则表达式与字符串匹配
AWERTYUIOPAZXCA
|---------|
A[^A]+ A
这是该字符串中唯一的模式。
剩下的字符串不再匹配,因为它不是以A
:开头的
ZXCA
|
A...
如果将字符串更改为:AWERTYUIOPAAZXCA
,它将匹配两次:
AWERTYUIOPAAZXC A
|---------||---------|
A[^A]+ AA[^A]+ A
如果使用正向前瞻,则可以确保只匹配以A
:结尾的字符串
((A[^A]+)(?=A))
这将为您提供AWERTYUIOP
和AZXC
-如果您想捕获最后一个字符,则需要调整正则表达式,但如果字符串/字符(A
(不存在,则无法捕获。