Регулярное выражение, чтобы найти конкретные слова в текстовом файле в C #? - PullRequest
0 голосов
/ 15 апреля 2011

Я написал консольное приложение, которое читает текстовый файл, полный данных.

Мне пришлось извлечь из него любые телефонные номера и поместить их в файл результатов.

Я использовалнесколько RegEx, чтобы сделать это, чтобы покрыть несколько разных форматов телефонных номеров, например, Великобритания, США, международный и т. д.

Вот пример того, что я использовал -

string sPattern = "^\\d{3}-\\d{3}-\\d{4}$";

Это будет искать телефончисла в следующем формате - 123-456-7890

Мой вопрос в том, что я сейчас хочу написать RegEx, который ищет ключевые слова в сопоставлении с числами.

Например, если я читаю в файле данных, я бы хотел, чтобы он нашел ключевые слова «Белый» и «Автомобиль».

, а затем поместил их в файл результатов.

Существует ли методделать это?

Ответы [ 3 ]

2 голосов
/ 15 апреля 2011

Просто используйте слово, разделенное границами слова;

string sPattern = @"\bKeyword\b";

http://www.regular -expressions.info / wordboundaries.html

1 голос
/ 15 апреля 2011

Попробуйте 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);
}
1 голос
/ 15 апреля 2011

Метод, который вы ищете:

System.Text.RegularExpressions.Regex.IsMatch(string input. string pattern)

Этот метод указывает, находит ли регулярное выражение совпадение во входной строке. В случае совпадения возвращается true, в противном случае false.

http://msdn.microsoft.com/en-us/library/ms228595%28v=VS.100%29.aspx В первом примере есть то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...