正则表达式非贪婪完全匹配

露菲

我正在使用正则表达式查找比我的前缀列表完全匹配的字符串组。

带前缀 A, B, BB

我可以匹配三个组(Aone Atwo, BBone BBtwo, Bone Btwo

Aone
Atwo
BBone
BBtwo
Bone
Btwo

使用正则表达式 ^prefix[^prefix]

但是,如果我有琴弦,这会中断

incd
incm    
named   
namem

我的前缀在哪里 inc, name

namem没有捕获。关于我在这里可以做什么的任何想法?

维克多·斯特里比尤(WiktorStribiżew)

当您用否定的字符类“否定”单个字符时,您需要的字符不是该类中定义的字符。更重要的是,您只能以这种方式“取反”单个字符,而不是字符序列

更为通用的方法是使用否定的前瞻(?!...)

^(?:inc|name)(?!(?:inc|name))

正则表达式演示

  • ^ -匹配字符串开始
  • (?:inc|name)-匹配incname
  • (?!(?:inc|name))-断言之后没有incname文字字符序列incname

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章