Альтернация
Запись a|b означает «"a" или "b"».
Движок пробует варианты слева направо.
Скобки из
группы
ограничивают, к чему относится |.
Синтаксис
Regex.IsMatch(text, @"cat|dog");
Пример
Давайте найдём a|b в "bcd":
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var m = Regex.Match("bcd", @"a|b");
Console.WriteLine(m.Value);
}
}
Результат выполнения кода:
"b"
Пример
Давайте выбрать abc|123:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var a = Regex.Match("abcde", @"abc|123");
var b = Regex.Match("12345", @"abc|123");
Console.WriteLine(a.Value + " " + b.Value);
}
}
Результат выполнения кода:
abc 123
Пример
Давайте проверить отсутствие обоих вариантов:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
bool res = Regex.IsMatch("xyz", @"abc|123");
Console.WriteLine(res);
}
}
Результат выполнения кода:
False
Смотрите также
-
группа,
объединение вариантов в скобках -
класс символов,
выбор одного символа -
квантификатор,
повтор выбранного фрагмента -
RegexParseException,
ошибка в шаблоне