Обратная ссылка
После захвата в
скобках
запись \1 требует тот же текст ещё раз.
\2 ссылается на вторую группу.
Шаблон ищет повтор подряд, без разрыва.
Синтаксис
Regex.IsMatch(text, @"(.)\1");
Пример
Давайте найти две одинаковые буквы подряд:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var m = Regex.Match("aabcde", @"(.)\1");
Console.WriteLine(m.Value);
}
}
Результат выполнения кода:
"aa"
Пример
Давайте повторить захват (abc)\1:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
bool res = Regex.IsMatch("abcabc", @"(abc)\1");
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте проверить несовпадение повтора:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
bool res = Regex.IsMatch("abcabd", @"(abc)\1");
Console.WriteLine(res);
}
}
Результат выполнения кода:
False
Смотрите также
-
группа захвата,
источник для \1 -
именованная группа,
именованные обратные ссылки -
экранирование,
символ \ в шаблоне -
RegexParseException,
неверная ссылка на группу