Группа захвата именования регулярных выражений - PullRequest
0 голосов
/ 25 октября 2019

Я успешно написал шаблон регулярных выражений, чтобы очистить какое-то значение, и оно работает действительно здорово, но я не понимаю, как назвать группу захвата.

Это моя строка:

<div class="pipe-mailbody pipe-mailbody-2cccfb01-75f1-4fc0-9d5f-5f5ed8729d1b">Deal ID:<br>256<br><br>Deal pipeline ID:<br>3<br><br>Deal stage ID:<br>16<br><br>Deal contact person ID:<br>740<br><br>End:</div>

и это мой шаблон:

Deal\sID\:\<br\>([\d]+)\<br\>[\<\>\d\w\s]+\:\<br\>([\d]+)<br><br>Deal\sstage\sID:<br\>([\d]+)<br\>[\d\s\>\<\S]+person\sID\:\<br>([\d]+)\<br\>

Может кто-нибудь помочь мне, как назвать группу захвата? как ([\d]+) это группа захвата, я хочу назвать ее person

Как мне этого добиться?

1 Ответ

0 голосов
/ 26 октября 2019

Хорошо, я не уверен, что это то, что вы ищете, но, надеюсь, это поможет.

Вы можете использовать что-то вроде Pattern Matcher в Java для получения значения. Объект Pattern в Java позволяет вам скомпилировать шаблон регулярных выражений. Объект Matcher затем получает все совпадения шаблона из определенной строки. Вы можете получить группу захвата, используя метод group объекта Matcher.

Если это ваша строка:

<div class="pipe-mailbody pipe-mailbody-2cccfb01-75f1-4fc0-9d5f-5f5ed8729d1b">Deal ID:<br>256<br><br>Deal pipeline ID:<br>3<br><br>Deal stage ID:<br>16<br><br>Deal contact person ID:<br>740<br><br>End:</div>

С Java вы можете сделать это (какобратите внимание, я также упростил ваш шаблон, поскольку в нем было несколько ненужных escape-символов):

String input = "<div class="pipe-mailbody pipe-mailbody-2cccfb01-75f1-4fc0-9d5f-5f5ed8729d1b">Deal ID:<br>256<br><br>Deal pipeline ID:<br>3<br><br>Deal stage ID:<br>16<br><br>Deal contact person ID:<br>740<br><br>End:</div>";

Pattern p = Pattern.compile("Deal\sID:<br>(\d+)<br>.+:<br>(\d+)<br><br>Deal\sstage\sID:<br>(\d+)<br>.+person\sID:<br>(\d+)<br>";

Matcher m = p.match(input);

String person = m.group(4);

При этом идентификатор человека сохраняется в строковой переменной.

...