我使用正则表达式来查找字符串组,而不是完全匹配我的前缀列表。
使用前缀A, B, BB
我可以匹配三组(Aone Atwo, BBone BBtwo, Bone Btwo
)
Aone
Atwo
BBone
BBtwo
Bone
Btwo
使用正则表达式^prefix[^prefix]
但如果我有字符串
,这会中断incd
incm
named
namem
我的前缀是inc, name
未捕获namem
。我能在这做什么的想法?
答案 0 :(得分:1)
当你"否定"一个带有否定字符类的char,你需要一个除了类中定义的字符之外的字符。更重要的是,你只能否定"否定"这种方式只有一个char,而不是序列字符。
更通用的方法是使用否定前瞻(?!...)
。
^(?:inc|name)(?!(?:inc|name))
请参阅regex demo
^
- 匹配字符串start (?:inc|name)
- 匹配inc
或name
(?!(?:inc|name))
- 断言inc
或name
后面没有inc
或name
文字字符序列