查找字符串中的所有链接和电子邮件地址

时间:2010-06-09 14:03:04

标签: c# regex match

将字符串中的所有链接和电子邮件地址与列表数组匹配的最简单方法是什么?我在PHP中使用preg_match但在C#中看起来会有所不同。

2 个答案:

答案 0 :(得分:1)

假设您已经有一个正常的正则表达式,您可以使用Regex class,如下所示:

static readonly Regex linkFinder = new Regex(@"https?://[a-z0-9.]+/\S+|\s+@\S+\.\S+", RegexOptions.IgnoreCase);

foreach(Match match in linkFinder.Matches(someString)) {
    //Do things...
    string url = match.Value;
    int position = match.Index;
}

答案 1 :(得分:-1)

这适用于链接:

https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?

Source

这适用于电子邮件地址:

[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}

Source