Reg Ex表示所需的负环视或下划线的负断言

2024-10-03 19:19:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我的URL模式总是以顶级URL后面的3个单词中的一个开始:

word1
word2
word3

然后,在几个子目录中可能有任何内容(最多4级),但始终: lowercasewordlowercaseword-lowercaseword

现在,我正在搜索一个与此完全匹配的reg ex,但不是以下划线开头的子目录: _lowercaseword

所以我的网址是:

example.com/word1/lowercaseword/lowercaseword/?parameters
example.com/word2/lowercaseword/
example.com/word3/lowercaseword/lowercaseword/lowercaseword/
example.com/word2/lowercaseword/lowercaseword/_lowercaseword/

我正在搜索一个与前三个匹配的regex。你知道吗

我搞不清楚周围的负面情况(如果需要的话)。 有什么想法吗?你知道吗

这些是我的表达方式,但它们不起作用:

\/(word1|word2|word3)\/((?!\_)[a-z]+(\-[a-z]+)?\/){0,4}
\/(word1|word2|word3)\/([!\_a-z]+(\-[a-z]+)?\/){0,4}

Tags: comurl内容example模式reg单词顶级
1条回答
网友
1楼 · 发布于 2024-10-03 19:19:46

你可以用

^[^/]+/(word1|word2|word3)(?:/[a-z]+(?:-[a-z]+)?){0,4}/?(?:\?.*)?$

参见regex demo。你知道吗

细节

  • ^-字符串开头
  • [^/]+-1+除/以外的字符
  • /-斜杠
  • (word1|word2|word3)-任何单词
  • (?:/[a-z]+(?:-[a-z]+)?){0,4}-0到4次重复/,1+小写ASCII 字母,然后是-和1+小写ASCII字母的可选序列
  • /?-可选的/
  • (?:\?.*)?-一个可选的?序列,然后是任何0+字符,直到。。。你知道吗
  • $-字符串结尾。你知道吗

相关问题 更多 >