我尝试找到不完全是一个或多个单词的任何字符串
我的模式
(?!(^ignoreme$)|(^ignoreme2$))
我正在寻找
ignoreme - no
ignoreme2 - no
ignoremex - match
ignorem - match
gnoreme - match
ignoreme22 - match
但是它返回很多空间。怎么做,谢谢。 https://regex101.com/r/u4EsNv/1
答案 0 :(得分:6)
您可以使用此更正后的正则表达式:
^(?!ignoreme2?$).*$
RegEx详细信息:
^
:开始(?!ignoreme2?$)
:当我们提前ignoreme
或ignoreme2
直到结束时,否定性超前使比赛失败。.*
:再匹配0个任何字符$
:结束
请注意,正则表达式(?!(^ignoreme$)|(^ignoreme2$))
与前2个无效情况匹配,因为您已将^
包含在否定的超前表达式中,而不是在外部。这会导致正则表达式引擎在第一个字符后开始匹配以满足前瞻性断言。 (您可以在regex101中突出显示匹配项)