是否可以编写正则表达式来捕获https://localhost:443/one/12345678/two/12345678之后的子路径?给定下面的URL,我想捕获abcd:

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个单词字符、/,然后是除?#之外的任何零个或更多字符,并且尽可能少([^?#]*?)
  • [^/?#]+-/#?以外的一个或多个字符.

.net相关问答推荐

MSBuild:CopyToOutputDirectory不会将本机DLL复制到输出

为什么 PropertyInfo.SetValue 在此示例中不起作用以及如何使其起作用?

Azure SignalR 和微服务

是否有内置方法将 nuget 包引用为 csproj 中的文件?

.NET Async / Await:状态机如何知道何时继续执行?

FileHelpers 未使用正确的日期格式

在接口内部声明 IEnumerable 而在具体类中声明 IList

如何判断属性设置器是否公开

为什么递归调用会导致不同堆栈深度的 StackOverflow?

使用 .NET 中的代码更改桌面墙纸

如何在 C# 中序列化异常对象?

清除 .NET 的 StringBuilder 内容的最佳方法

如何在我的 C# 程序的面板中运行另一个应用程序?

为什么使用 ImmutableList 而不是 ReadOnlyCollection?

非通用 TaskCompletionSource 或替代

X509Certificate 构造函数异常

POCO 是什么意思?

将记录器作为单身人士是一个好习惯吗?

合并两个(或更多)PDF

从字节数组中读取 C# 中的 C/C++ 数据 struct