正则表达式提取URL

时间:2017-09-14 05:36:23

标签: c# regex

例如,我有:

String a = abcd http//google.com abcd

String b=efgh http//yahoomail.hey.com ihklm

如何只提取单词:

google
yahoomail.hey
TIA

1 个答案:

答案 0 :(得分:1)

试试这个

        string pattern = @"//[a-zA-Z0-9]{1,}[.][a-zA-z]{2,4}";
        string input = @"http//yahoomail.hey.com ihklm";

        foreach (Match m in Regex.Matches(input, pattern))
        {
            Console.WriteLine("'{0}'", m.Value.ToString().Replace("/",""));
        }

阐释:

//匹配需要以" //"

开头

[a-zA-Z0-9] {1,}接下来可以在[] 1到n次中指定任意数量的字符

[。]然后需要有一个。

[a-zA-z] {2,4}该域可以是任何上/下字符,并且需要至少2个但最多4个字符

检查你的正则表达式,我建议使用https://regex101.com/
使用PHP风格的标准设置。完成正则表达式创建后,您可以使用"代码生成器"在左边将其转换为JScript / php / python / c#/ java / ruby​​ / rust / perl / golang