gpt4 book ai didi

c# - 具有基本身份验证的 HTTP URL 的正则表达式

转载 作者:行者123 更新时间:2023-11-30 20:06:40 25 4
gpt4 key购买 nike

在我的应用程序中,如果 URL 包含基本身份验证凭据,我必须读取 URL 并执行某些操作。这种 URL 的一个例子是

http://username:password@example.com

下面的正则表达式是否适合我的任务?我要将四个组捕获到局部变量中。该 URL 被传递到另一个内部库,该库将做进一步的工作以确保 URL 在打开连接之前有效。

^(.+?//)(.+?):(.+?)@(.+)$

最佳答案

看起来不错,而且我认为在这种情况下使用正则表达式很好。一些建议:

1) 我认为命名组会使您的代码更具可读性,即:

^(?<protocol>.+?//)(?<username>.+?):(?<password>.+?)@(?<address>.+)$

然后你可以简单地写

Match match = Regex.Match(string, pattern);
if (match.Success) {
string user = match.Groups["username"];

2) 然后你可以使表达式更严格一点,例如尽可能使用 \w 而不是 :

^(?<protocol>\w+://)...

关于c# - 具有基本身份验证的 HTTP URL 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9472466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com