好的我有一个域名列表
例如
dogstoday . com
catstoday . com
petstoday . com
dogsnow . org
dogsabc . net
catlitter . info
我想要一个正则表达式,它会给我所有包含我指定单词的域名,例如狗或猫
如果我给狗它应该返回
dogstoday.com
dogsnow.org
dogsabc.net
任何人都可以告诉我如何在c#中执行此操作吗?
答案 0 :(得分:4)
如果域名始终以您提供的字词开头,则可以使用StartsWith
,否则您只需使用Contains
。对于简单的事情,你不需要正则表达式。
答案 1 :(得分:2)
这需要使用正则表达式吗?为什么不循环遍历所有域并检查它们是否包含您要查找的单词?
答案 2 :(得分:2)
正则表达式
/狗/ I
答案 3 :(得分:1)
和其他人一样,我认为grep会更好,但有点像......
Regex.Match( yourBigString, @".*dogs*.*[.com|.net|.org]" );
你应该小心这个域,因为你可能会得到像.au或.jp这样的网站或其他任何网站,但这会得到任何狗,其中包括.com或.net或.org。您可以将“狗”替换为您正在寻找的任何东西。
答案 4 :(得分:0)
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);
}
}
}
答案 5 :(得分:0)
看起来你只需要使用StartsWith方法。