【发布时间】:2021-02-28 11:02:09
【问题描述】:
我只想匹配“act.1”或“act.200”之类的字符串,但不匹配带有子编号的字符串(例如“act.30/1”或“act.400/1”)。
我的模式act\.(.)\d+(?!\/) 匹配“act.1”、“act.200”,但也匹配“act.3”和“act.40”。如何排除数字中带有斜杠的所有字符串?
【问题讨论】:
我只想匹配“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+ 数字后跟单词边界(?!/) 负前瞻,断言右边不是/
【讨论】: