例如,我有:
String a = abcd http//google.com abcd
和
String b=efgh http//yahoomail.hey.com ihklm
如何只提取单词:
google
yahoomail.hey
TIA
答案 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