RegEx 如何匹配 "act. 10" 但不匹配 "act. 10/2"?

RegEx how to match "act. 10" but not "act. 10/2"?

我只想匹配“act.1”或“act.200”等字符串,但不匹配带有子编号的字符串(例如“act.30/1”或“act.400/1”)。

我的模式 act\.(.)\d+(?!\/) 匹配“act.1”、“act.200”,但也匹配“act.3”和“act.40”。如何排除所有数字中带有斜杠的字符串?

您可以使用 \s+ 匹配 1 个或多个空白字符,而不是捕获第 1 组 (.) 中的任何字符。然后在数字之后,添加一个单词边界,然后是负前瞻。

act\.\s+\d+\b(?!/)

说明

  • act\.\s+ 匹配 act. 后跟 1+ 个空白字符
  • \d+\b 匹配 1+ 个数字后跟单词边界
  • (?!/) 否定前瞻,断言直接在右边的不是/

Regex demo