我写了一个控制台应用程序,它读入一个充满数据的文本文件。
我必须从中提取任何电话号码并将它们放入结果文件中。
我使用多个RegEx来覆盖几种不同格式的电话号码,即英国,美国,国际等。
这是我用过的一个例子 -
string sPattern = "^\\d{3}-\\d{3}-\\d{4}$";
这将寻找以下格式的电话号码 - 123-456-7890
我的问题是,我现在想写一个RegEx,寻找与数字相关的关键单词。
E.g。如果我读入数据文件,我希望它能找到关键词'White'和'Car'。
然后将它们放入结果文件中。
有没有这样做的方法?
答案 0 :(得分:2)
只需使用由单词边界分隔的单词;
string sPattern = @"\bKeyword\b";
答案 1 :(得分:1)
您正在寻找的方法是:
System.Text.RegularExpressions.Regex.IsMatch(string input. string pattern)
此medhod指示正则表达式是否在输入字符串中找到匹配项。如果匹配则返回true
,否则返回false
。
http://msdn.microsoft.com/en-us/library/ms228595%28v=VS.100%29.aspx第一个例子有你需要的东西。
答案 2 :(得分:1)
尝试使用Regex.Matches():
string pattern = "car";
Regex rx = new Regex(pattern, RegexOptions.None);
MatchCollection mc = rx.Matches(inputText);
foreach (Match m in mc)
{
Console.WriteLine(m.Value);
}