匹配文件路径字符串中指定目录名称后的 3 个子目录名称
/any_string/any_string/any_number
带有此正则表达式:
/(\w+).(\w+).(\d+)/
它有效,但我需要这个网址:
/specific_string/any_string/any_string/any_number
而且我不知道如何获取它。
/any_string/any_string/any_number
with this regular expression:
/(\w+).(\w+).(\d+)/
It works, but I need this url:
/specific_string/any_string/any_string/any_number
And I don't know how to get it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
/(specific_string).(\w+).(\w+).(\d+)/
但请注意,正则表达式中的
.
在技术上与 any 匹配 性格和不仅仅是
/
/(specific_string)\/(\w+)\/(\w+)\/(\d+)/
这将使其仅匹配斜杠。
/(specific_string).(\w+).(\w+).(\d+)/
Though note that the
.
s in your regular expression technically match any character andnot just the
/
/(specific_string)\/(\w+)\/(\w+)\/(\d+)/
This will have it match only slashes.
这将匹配第二个 url:
This one will match the second url:
只需在正则表达式中插入特定字符串:
Just insert the specific_string in the regexp:
更改外部分隔符的另一个变体以避免无关的转义:
Another variant with the outer delimiters changed to avoid extraneous escaping:
我会使用这样的东西:
我使用
[^\/]+
因为它将匹配除斜杠之外的任何内容。\w+
几乎在任何时候都有效,但如果路径中某处存在意外字符,这也将有效。另请注意,我的正则表达式需要前导斜杠。如果您想变得更复杂一点,以下正则表达式将匹配您提供的两者模式:
这将匹配:
但它将不匹配
I would use something like this:
I use
[^\/]+
because that will match anything that is not a slash.\w+
will work almost all the time, but this will also work if there is an unexpected character in the path somewhere. Also note that my regex requires the leading slash.If you want to get a little more complicated, the following regex will match both of the patterns you provided:
This will match:
but it will not match