Regex 需要正则表达式的帮助吗

Regex 需要正则表达式的帮助吗,regex,match,Regex,Match,一串 mssql://text1:text2@text3/text4?ApplicationName=adfDGFSHG 我需要匹配 text1:text2@text3 及 我写道: string ConnectionURL = "mssql://faerg:aassd@4235453tgr/he657i7u8kui?ApplicationName=adfDGFSHG"; Match m = Regex.Match(ConnectionURL, "mssql\\s*:\\s*//\\s*([

一串

mssql://text1:text2@text3/text4?ApplicationName=adfDGFSHG
我需要匹配

text1:text2@text3

我写道:

string ConnectionURL = "mssql://faerg:aassd@4235453tgr/he657i7u8kui?ApplicationName=adfDGFSHG";
Match m = Regex.Match(ConnectionURL, "mssql\\s*:\\s*//\\s*([\\d\\w\\s]*)/([\\d\\w\\s]*)\\?");
但这和什么都不匹配。非常感谢您的帮助:)


在Rubular上测试和tru(需要在
/
上转义)。不幸的是,我无法创建永久链接:(

请尝试使用以下正则表达式:

^.*?//([a-z0-9@:]+)/([a-z0-9]+).*$

http
部分是如何进入这个正则表达式的?您的字符串以mssql开头,但您的正则表达式以http开头…这个正则表达式还将包括前面的
/
text4@AbhishekSimon不,没有捕捉到
/
;它位于两组之间(第一个不能是
/
,因此匹配到该字符;第二个GROUP将匹配到
)。此正则表达式选择整个url
@Abhishek Simon
您知道如何使用括号
()
在regex?+1中可以实现这一点。人们至少应该在投票前努力确保自己是正确的。谢谢,@hsz,你的解决方案可行,但jensgram首先提出了解决方案,所以我接受他的回答。
^mssql://([^/]+)/([^?]+)\?
^.*?//([a-z0-9@:]+)/([a-z0-9]+).*$