2

我在我的日志中看到一个清除请求,该请求将变为清漆形式
req.url ~ "^(.*)(?<!\\d{1})534328(?!\\d{1})"。我不确定正则表达式完全匹配什么。我知道清漆使用 POSIX 正则表达式。我正在尝试为正则表达式生成示例匹配,^(.*)(?<!\\d{1})534328(?!\\d{1})但无法找到一个可以帮助我的工具。

编辑:对不起,我The regular expression engine is now PCRE instead of POSIX regular expressions.根据这里的变更日志犯了一个错误。

4

1 回答 1

2

它匹配534328既不在数字之前也不在数字之后的内容。

^            # line beginning
(.*)         # any character repeated any number of times, including 0
(?<!\d{1})   # negative look-behind assertion: single digit
534328       # literal 534328       
(?!\d{1})    # negative look-ahead assertion: single digit

  "whatever 534328"      ←  match
  "wharrgarbl 1534328"   ←  no match
  "any chars  5343289"   ←  no match
  "hello world a534328b" ←  match
于 2013-04-25T18:48:10.567 回答