我需要一个正则表达式(将用于ZF2路由,我相信它使用了php的preg_match),它匹配除特定字符串以外的任何内容。正则表达式 - 匹配除特定字符串以外的任何内容
例如:我需要匹配除“红色”,“绿色”或“蓝色”以外的任何内容。
我目前拥有的正则表达式:
^(?!red|green|blue).*$
test -> match (correct)
testred -> match (correct)
red -> doesn't match (correct)
redtest -> doesn't match (incorrect)
在最后一种情况下,正则表达式是不是表现得像个我想要的。它应该匹配“红色”,因为“红色”不是(“红色”,“绿色”或“蓝色”)。
任何想法如何解决正则表达式?
此正则表达式匹配的是什么。你测试过了吗? – rafaame
@rafaame yup;匹配测试,测试和redtest,但不是红色http://rubular.com/r/b9eMsVln1W –
@rafaame可能尝试添加'。*'在最后如果你需要实际捕获字符串 –