Как захватить целую группу, состоящую из разных персонажей? - PullRequest
0 голосов
/ 29 декабря 2018

У меня есть текст с номером, который содержит точки:

текст 304.33.44.52.03.001 текст

, где я хочу захватить число, включая строки:

304.33.44.52.03.001

Следующее регулярное выражение будет охватывать несколько групп:

(\d+\.?)

В результате:

304.
33.
44.
...

Каков правильный синтаксис для возврата всего числа, включая точки, в одном результате?

1 Ответ

0 голосов
/ 29 декабря 2018

\d+\.? соответствует 1+ цифрам, а затем необязательный . символ.

Вам необходимо использовать либо

\d+(?:\.\d+)*

, либо

\d[\d.]*

См. regex demo

Шаблон \d+(?:\.\d+)* соответствует

  • \d+ - 1+ цифр
  • (?:\.\d+)* - 0 или болеевхождения . и затем 1+ цифр.(?:...) - это группа без захвата , которая используется для группировки шаблонов 2 и установки квантификатора для их последовательности.

Шаблон \d[\d.]* сначала соответствует цифре, изатем пытается найти 0 или более цифр или ..

В движках регулярных выражений, которые не поддерживают \d, необходимо использовать более безопасный шаблон, выражение в скобках [0-9].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...