【发布时间】:2014-07-11 21:35:23
【问题描述】:
我想要一个正则表达式来识别以下形式的所有单词:xxxxBlah
但要忽略以下具体情况:SpecialBlah
有没有什么简单的方法可以用正则表达式来表达?
【问题讨论】:
-
是的,如果您选择的语言支持negative lookaheads
标签: regex
我想要一个正则表达式来识别以下形式的所有单词:xxxxBlah
但要忽略以下具体情况:SpecialBlah
有没有什么简单的方法可以用正则表达式来表达?
【问题讨论】:
标签: regex
【讨论】:
\b 在哪里没有区别。
\w已经被使用,我认为没有必要添加\b,它会自动寻找单词边界。
\b。否则,它匹配SpecialBlah 中的pecialBlah。它还将SpecialBlahs 视为匹配项,因为它不会强制匹配尾随分词。
根据您使用的语言/IDE/工具,这应该可以工作:
\w+(?<!Special)Blah
它使用negative look-behind。所以它会在“Blah”之前找到任何word-characters,只要它不是“Special”。
其他人在不可能进行负面回顾时提供了替代方案,such as in JavaScript。
请考虑将Stack Overflow Regular Expressions FAQ 加入书签以供将来参考。
【讨论】: