否定完整的正则表达式

flo*_*dee 1 php regex negation regex-negation regex-lookarounds

强制使用某个 url 结构“类型/名称”,我的工作正则表达式是:

([a-z]+\/?[a-z]+\/?)+
Run Code Online (Sandbox Code Playgroud)

现在我想通过 preg_replace 从字符串中删除所有其他字符,因此否定上面的模式。像 [^az] 这样的简单案例工作正常,但对于我的模式,我无法通过否定整个模式来使其工作。

Rap*_*gée 6

你可以试试这个:

(?!([a-z]+\/?[a-z]+\/?)+)
Run Code Online (Sandbox Code Playgroud)

那是:

  • 字首 (?!
  • 后缀 )