正则表达式在任意数量的单词后不匹配

Regex mis match after any number of words

所以我有一个像

这样的模式

/a/b/c/Dont想要This/tag.

现在模式可以包含 a/b/ 之后的任何字符 所以其他一些模式就像:

  1. /a/b/c/d/不想This/tag
  2. /a/b/c/d/e/.../x/Dont想要This/randomstuff/tag

我的正则表达式将使用否定前瞻来检查 "Dont Want This" 没有出现在字符串中,并检查字符串是否以 "tag" 结尾。

我的问题是我不知道如何允许出现在 "Dont Want This" 之前和之后的所有可能的东西 "/a/b?

PS: 使用 Python 的 re 模块。

提前致谢。

你可以试试这个基于负前瞻的正则表达式:

^/a/b(?!.*/Dont Want This).*/tag$

(?!.*/Dont Want This) 将禁止 /Dont Want This 出现在以 /a/b 开头并以 /tag 结尾的输入中。

RegEx Demo