是否可以编写正则表达式来捕获https://localhost:443/one/12345678/two/12345678
之后的子路径?给定下面的URL,我想捕获a
、b
、c
和d
:
https://localhost:443/one/12345678/two/12345678/a/b/c/d?p1=1&p2=2&p3=3
这是我到目前为止所知道的,但它只捕获了a
个:
[\w\W]*one\/\w{8}\/two\/\w{8}(?:\/?([\w]))
是否可以编写正则表达式来捕获https://localhost:443/one/12345678/two/12345678
之后的子路径?给定下面的URL,我想捕获a
、b
、c
和d
:
https://localhost:443/one/12345678/two/12345678/a/b/c/d?p1=1&p2=2&p3=3
这是我到目前为止所知道的,但它只捕获了a
个:
[\w\W]*one\/\w{8}\/two\/\w{8}(?:\/?([\w]))
您可以使用
(?<=/one/\w{8}/two/\w{8}/[^?#]*?)[^/?#]+
请看regex demo.
Details:
(?<=/one/\w{8}/two/\w{8}/[^?#]*?)
-与位置匹配的正向回溯,该位置的前面紧跟/one/
,然后是8个单词字符(\w{8}
)、/two/
、另外8个单词字符、/
,然后是除?
和#
之外的任何零个或更多字符,并且尽可能少([^?#]*?
)[^/?#]+
-/
、#
和?
以外的一个或多个字符.