regexr如何排除字符串匹配

时间:2011-09-22 10:01:36

标签: regex .htaccess

我想匹配以下内容:

包含任何字符的任何字符串,除了/或。这是使用([^/\.]+)完成的,但是,我还想添加一个字符串“faq”以匹配任何字符,除非它是一个“faq”字符串,例如:

目前,我的正则表达方式:

^([^/\.]+)/([^/\.]+)/$

然而,它也捕获了“常见问题”。

faq/fsdfsd/ => No match
faqgff/fdsfs/ => Match
jhpo/ijkd/ => Match
f/iout/ => Match
a/iout/ => Match
q/iout/ => Match

我尝试过跑步([^ /。] +)

是的,它适用于.htaccess重定向:)

2 个答案:

答案 0 :(得分:2)

这将是一个消极的样子

(?!.*faq)

当它找不到模式“faq”时,它是真的

所以将它包含在你的正则表达式中

^(?!.*faq)([^/\.]+)/([^/\.]+)/$

然后它将匹配您的模式,但如果字符串包含“faq”则会失败。 (希望我理解正确)

here on Regexr

答案 1 :(得分:0)

我不能说我完全理解你的问题陈述:

  

想要添加字符串“faq”以匹配任何字符,除非它是a   string og“faq”

然而,听起来negative lookbehind 可能是工作的工具:https://serverfault.com/questions/78624/apache-2-negative-filesmatch-filesnotmatch