我正在使用正则表达式来查找与我的前缀列表完全匹配的字符串组。
带有前缀A、B、BB
我可以匹配三个组(Aone Atwo、BBone BBtwo、Bone Btwo
)
Aone
Atwo
BBone
BBtwo
Bone
Btwo
使用正则表达式^prefix[^prefix]
但是如果我有字符串,这就会中断
incd
incm
named
namem
我的前缀是 inc, name
未捕获namem
。我能在这里做什么有什么想法吗?
最佳答案
当您使用否定字符类“否定”单个字符时,您需要的字符不是该类中定义的字符。更重要的是,您只能通过这种方式“否定”单个字符,而不是字符序列。
更通用的方法是使用否定前瞻,(?!...)
。
^(?:inc|name)(?!(?:inc|name))
请参阅regex demo
^
- 匹配字符串开始(?:inc|name)
- 匹配inc
或name
(?!(?:inc|name))
- 断言不存在inc
或name
文字字符序列紧接在inc
或name
之后
关于python - 正则表达式非贪婪精确匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41004706/