Регулярные выражения. Обратная ссылка в выражении. Как сделать, чтобы искались только отдельные слова? - C#
Формулировка задачи:
using System;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
static string text = "the the rocket. man manager man spaderman " +
"if if i am newbie, you are professional professsional";
static void Main(string[] args)
{
// "\1" это обратная ссылка на выражение ([A-Za-z]+). То есть ссылается на
//найденный текст, на точно такой же, который был найден
string pattern = @"([A-Za-z]+)\s\1";
Regex regex = new Regex(pattern);
Match match = regex.Match(text);
MatchCollection matchColl = regex.Matches(text);
foreach (Group group in matchColl)
{
Console.WriteLine(group.ToString());
}
Console.ReadKey();
}
}
}string pattern = @"([A-Za-z]+\s+)\1";
В результате работы этой программы на экран будет выведено:
the the
man man
if if
the the
if if
Решение задачи: «Регулярные выражения. Обратная ссылка в выражении. Как сделать, чтобы искались только отдельные слова?»
textual
Листинг программы
@"([A-Za-z]+)\s\1\b"