正则表达式 - 排除包含超过 2 个“/”的子字符串
regex - exclude substring contains more than 2 "/"
我有以下字符串的列表:
/fajwe/conv_1/routing/apwfe/afjwepfj
/fajwe/conv_2/routing/apwfe
/fajwe/conv_2/routing
/fajwe/conv_3/routing/apwfe/afjwepfj/awef
/fajwe/conv_4/routing/apwfe/afjwepfj/awef/0o09
我希望正则表达式只匹配单词 routing
后不超过 1 个 /
的字符串。即 /fajwe/conv_2/routing/apwfe
和 /fajwe/conv_2/routing
.
目前我使用正则表达式 ^((?!rou\w+(\/\w+){2,}).)*$
但它不匹配任何内容。我怎样才能写一个正则表达式来 exclude strings contain more than 2 /
after the word routing
?
我很想了解如何使用 Negative Lookbehind 来实现这一点。非常感谢!
是这样的吗?
^.*\/routing(\/[^\/]*){0,1}$
正如 @revo 指出的那样,您的正则表达式与多行标记 m
匹配。
您也可以这样尝试:
^\/fajwe\/conv_\d\/routing(?:\/[^\/]+)?$
根据您的语言环境,您可以 \/
escape the forward slash
routing(\/[^\/]*)?$
好了
我有以下字符串的列表:
/fajwe/conv_1/routing/apwfe/afjwepfj
/fajwe/conv_2/routing/apwfe
/fajwe/conv_2/routing
/fajwe/conv_3/routing/apwfe/afjwepfj/awef
/fajwe/conv_4/routing/apwfe/afjwepfj/awef/0o09
我希望正则表达式只匹配单词 routing
后不超过 1 个 /
的字符串。即 /fajwe/conv_2/routing/apwfe
和 /fajwe/conv_2/routing
.
目前我使用正则表达式 ^((?!rou\w+(\/\w+){2,}).)*$
但它不匹配任何内容。我怎样才能写一个正则表达式来 exclude strings contain more than 2 /
after the word routing
?
我很想了解如何使用 Negative Lookbehind 来实现这一点。非常感谢!
是这样的吗?
^.*\/routing(\/[^\/]*){0,1}$
正如 @revo 指出的那样,您的正则表达式与多行标记 m
匹配。
您也可以这样尝试:
^\/fajwe\/conv_\d\/routing(?:\/[^\/]+)?$
根据您的语言环境,您可以 \/
escape the forward slash
routing(\/[^\/]*)?$
好了