Использование оператора OR с именованными группами - PullRequest
0 голосов
/ 09 января 2019

В регулярном выражении Java мы можем использовать именованные группы, подобные этой (?<group_name>pattern). Также он поддерживает оператор OR, как этот (pattern1|pattern2). Могу ли я использовать именованные группы и оператор ИЛИ что-то вроде (pattern1)|(pattern2)? То есть, если один шаблон в группе соответствует, то результат равен true.

Спасибо!

1 Ответ

0 голосов
/ 09 января 2019

Если вы ищете «имя» на этой странице , вы найдете это:

Специальные конструкции (именованные и не захватывающие)

(?<name>X) X, как именованная группа захвата

Так что да, вы можете использовать именованные группы:

Matcher m = Pattern.compile("(?<foo>a)|(?<bar>b)").matcher("a");
if (m.find()) {
    System.out.println(m.group("foo")); // a
    System.out.println(m.group("bar")); // null
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...