PHP正则表达式-匹配所有内容,但不完全匹配一个或多个单词
我试图找到任何字符串,而不是一个或多个单词 我的模式PHP正则表达式-匹配所有内容,但不完全匹配一个或多个单词,php,regex,Php,Regex,我试图找到任何字符串,而不是一个或多个单词 我的模式 (?!(^ignoreme$)|(^ignoreme2$)) 我在找 ignoreme - no ignoreme2 - no ignoremex - match ignorem - match gnoreme - match ignoreme22 - match 但是它返回了很多空间。如何做到这一点,谢谢。 您可以使用此已更正的正则表达式: ^(?!ignoreme2?$).*$ 正则表达式详细信息: ^:开始
(?!(^ignoreme$)|(^ignoreme2$))
我在找
ignoreme - no
ignoreme2 - no
ignoremex - match
ignorem - match
gnoreme - match
ignoreme22 - match
但是它返回了很多空间。如何做到这一点,谢谢。
您可以使用此已更正的正则表达式:
^(?!ignoreme2?$).*$
正则表达式详细信息:
:开始^
:当我们有(?!ignoreme2?$)
或ignoreme
提前到结束时,负前瞻将使匹配失败ignoreme2
:再匹配0个字符*
:结束$
请注意,正则表达式
(?!(^ignoreme$)|(^ignoreme2$)
匹配前两个无效案例,因为您已将^
包含在非外部的负前瞻表达式中。这会导致正则表达式引擎在第一个字符之后开始匹配,以满足前瞻断言。(您可以在regex101突出显示的匹配中看到)它看起来很酷,但它不是分离,b/c我可以添加许多单词,如ignoreme2,ignoreme,top,abc
确保您可以交替添加它们,例如^(?(ignoreme2?| top | abc | foo | bar)$).$