[英]C# Regex word match extractor
好的,我有一个域名列表
例如
dogstoday . com
catstoday . com
petstoday . com
dogsnow . org
dogsabc . net
catlitter . info
我想要一个正则表达式,可以给我所有带有我指定的单词的域,例如狗或猫
如果我给狗它应该返回
dogstoday.com
dogsnow.org
dogsabc.net
谁能告诉我如何在c#中执行此操作?
如果域始终以示例中提供的单词开头,则可以使用StartsWith
否则可以使用Contains
。 对于这样简单的事情,您不需要正则表达式。
是否需要使用正则表达式来完成? 为什么不仅仅遍历所有域并检查它们是否包含您要查找的单词?
正则表达式是
/狗/我
和其他人一样,我认为grep会更好,但是类似...
Regex.Match( yourBigString, @".*dogs*.*[.com|.net|.org]" );
您应该小心域,因为您可能会获得.au或.jp等网站,但这将使带有狗的任何内容都跟随其中,后跟.com或.net或.org。 您可以将“ dogs”替换为所需的任何东西。
string line;
System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex("dogs", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
using (System.IO.StreamReader reader = System.IO.File.OpenText("domains.txt"))
{
while ((line = reader.ReadLine()) != null)
{
if (r.IsMatch(line))
{
Console.WriteLine(domain);
}
}
}
看起来您只需要使用StartsWith方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.