C#替换URL正则表达式
我试图从字符串中提取URL,稍后使用它创建超链接。我希望能够做到以下几点: -确定输入字符串是否包含URL -从输入字符串中删除URL -将提取的URL存储在变量中以供以后使用C#替换URL正则表达式,c#,regex,url,C#,Regex,Url,我试图从字符串中提取URL,稍后使用它创建超链接。我希望能够做到以下几点: -确定输入字符串是否包含URL -从输入字符串中删除URL -将提取的URL存储在变量中以供以后使用 有人能帮我吗?这里有一个很好的解决方案,可以识别流行格式的URL,例如: www.google.com 邮寄地址:somebody@google.com somebody@google.com www.url-with-querystring.com/?url=具有querystring 使用的正则表达式是: /(
有人能帮我吗?这里有一个很好的解决方案,可以识别流行格式的URL,例如:
- www.google.com
- 邮寄地址:somebody@google.com
- somebody@google.com
- www.url-with-querystring.com/?url=具有querystring
/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/
但是,我建议您去看看工作示例。这里有一个很好的解决方案,可以识别流行格式的URL,例如:
- www.google.com
- 邮寄地址:somebody@google.com
- somebody@google.com
- www.url-with-querystring.com/?url=具有querystring
/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/
但是,我建议您去查看工作示例。用您的输入替换输入
string input = string.Empty;
var matches = Regex.Matches(input,
@"/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)/");
List<string> urlList = (matches.Cast<object>().Select(match => match.ToString())).ToList();
string输入=string.Empty;
var matches=Regex.matches(输入,
@“/(([A-Za-z]{3,9}:(?:\/\/)?)(?:&=\+\$,\w]+@)?[A-Za-z0-9.-+\\\(?:www.124;[-:&=\+$,\ w]+@[A-Za-z0-9.-+-/.\w-\+\/.*)?((?:\/[-+++++-\\\%.\w-\++-/.%.\w].*)/)(?:[-+++++-+-+-----+.%.\w].*)/)/;
List urlist=(matches.Cast().Select(match=>match.ToString()).ToList();
用您的输入替换输入
string input = string.Empty;
var matches = Regex.Matches(input,
@"/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)/");
List<string> urlList = (matches.Cast<object>().Select(match => match.ToString())).ToList();
string输入=string.Empty;
var matches=Regex.matches(输入,
@“/(([A-Za-z]{3,9}:(?:\/\/)?)(?:&=\+\$,\w]+@)?[A-Za-z0-9.-+\\\(?:www.124;[-:&=\+$,\ w]+@[A-Za-z0-9.-+-/.\w-\+\/.*)?((?:\/[-+++++-\\\%.\w-\++-/.%.\w].*)/)(?:[-+++++-+-+-----+.%.\w].*)/)/;
List urlist=(matches.Cast().Select(match=>match.ToString()).ToList();
应该注意的是,如果没有几个示例,这项任务几乎不可能完成。我在自己的代码中经常使用此工具。我对正则表达式很在行,但是能够快速有效地测试它们,以及帮助构建它们,这确实是无价的。如果我没有那么多钱,我会很乐意捐给这个开发者。这是一个很好的起点。应该注意的是,如果没有几个示例,这项任务几乎不可能完成。我在自己的代码中经常使用这个工具。我对正则表达式很在行,但是能够快速有效地测试它们,以及帮助构建它们,这确实是无价的。如果我没有那么多钱,我会很乐意捐给这个开发者。对你来说,这是个不错的起点