我正在尝试提出一个正则表达式,单独将第二个斜杠作为最后一个字符(例如/s/test/xxxx/
)
但是,我不能保证上面的URL包含除了以额外的斜杠结尾之外的其他内容。 /s/test/xxxx/yyyy/
如果我使用这样的东西
^\/s\/(.*?)\/(.*?)\/
上面的一个适用于第一个模式,但是只要我添加$
以确保最后一个(和第二个)尾部斜杠是最后一个字符,下面两个案例都匹配。
/s/test/xxxx/
/s/test/xxxx/yyyy/
怎么了?
由于
答案 0 :(得分:0)
您可以使用否定的字符类:
^/s/[^/]+/[^/]+/$
正则表达式的解释(礼貌this):
NODE EXPLANATION
--------------------------------------------------------------------------------
^ the beginning of the string
--------------------------------------------------------------------------------
/s/ '/s/'
--------------------------------------------------------------------------------
[^/]+ any character except: '/' (1 or more times
(matching the most amount possible))
--------------------------------------------------------------------------------
/ '/'
--------------------------------------------------------------------------------
[^/]+ any character except: '/' (1 or more times
(matching the most amount possible))
--------------------------------------------------------------------------------
/ '/'
--------------------------------------------------------------------------------
$ before an optional \n, and the end of the
string
答案 1 :(得分:0)
您可以使用此正则表达式:
^/[^/]+/[^/]+/[^/]+/?$