Вы можете использовать этот шаблон:
Computer, (\w+) is gone to the market\.
Использует скобки для соответствия \w+
и фиксирует его в группе 1.
Обратите внимание, что период в конце был экранирован с помощьюa \
, поскольку .
является метасимволом регулярных выражений.
С учетом ввода:
LOL! Computer, Eddie is gone to the market. Blah blah
blah. Computer, Alice is gone to the market... perhaps...
Computer, James Bond is gone to the market.
Тогда есть два совпадения (, как видно на rubular.com ).В первом матче группа 1 захватила Eddie
.Во втором матче группа 1 захватила Alice
.
Обратите внимание, что \w+
не соответствует James Bond
, потому что \w+
- это последовательность "одного или более символов слова".Если вам нужно сопоставить эти типы имен, отличных от «одного слова», просто замените их на регулярное выражение для соответствия именам.
Ссылки
Общая техника
Для данной тестовой строки:
i have 35 dogs, 16 cats and 10 elephants
Тогда (\d+) (cats|dogs)
дает 2 результата матча ( см. На rubular.com )
- Результат 1:
35 dogs
- Группа 1 захватывает
35
- Группа 2 захватывает
dogs
- Результат 2:
16 cats
- Группа 1 захватывает
16
- Группа 2 захватывает
cats
Смежные вопросы
C # фрагмент
Вот простой пример использования групп захвата:
var text = @"
LOL! Computer, Eddie is gone to the market. Blah blah
blah. Computer, Alice is gone to the market... perhaps...
Computer, James Bond is gone to the market.
";
Regex r = new Regex(@"Computer, (\w+) is gone to the market\.");
foreach (Match m in r.Matches(text)) {
Console.WriteLine(m.Groups[1]);
}
Приведенные выше отпечатки ( как видно на ideone.com ):
Eddie
Alice
API ссылки
По спецификации
Как отмечалось, \w+
не соответствует "James Bond"
.Однако он соответствует "o_o"
, "giggles2000"
и т. Д. (, как видно на rubular.com ).Насколько это возможно, постарайтесь сделать свои шаблоны как можно более конкретными.
Аналогично, (\d+) (cats|dogs)
будет соответствовать 100 cats
в $100 catsup
(, как видно на rubular.com ).
Это проблемы самих шаблонов, которые напрямую не связаны с захватом групп.