如果找到特殊字词,则正则表达式匹配违规行为

时间:2018-02-20 16:37:08

标签: regex

我正在寻找一个执行以下操作的正则表达式:

//SPECIAL_WORD some text -> Should match

//SPECIAL_WORD (123456) -> Should match

//SPECIAL_WORD 123456   -> Should NOT match

=>基本上任何其他的' SPECIAL_WORD空白6位数'如果找到SPECIAL_WORD,则匹配。

我找到了如何匹配积极案例SPECIAL_WORD\s\d{6} 我尝试了积极的前瞻但却没有让它发挥作用:(?!SPECIAL_WORD\s\d{6})。我也试图否定整个事情\b(?=\w)(?!SPECIAL_WORD\s\d{6})\b(\w*)然而其他一切都是匹配的...... 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您应该匹配SPECIAL_WORD,然后进行否定前瞻:

\bSPECIAL_WORD\s(?!\d{6}\b)

\b确保两端都不是一个单词的一部分。你可能不需要它们。

Live demo