Как сопоставить одно или два последовательных (и распределить их по группам) числа в этой строке: -4-45- или -15-25-03- - PullRequest
0 голосов
/ 11 апреля 2019

Я новичок в регулярных выражениях. Я пытаюсь понять, как это работает. Но, кажется, не удается сопоставить одну или несколько цифр в строке и получить их как группы, я могу получить только одну цифру.

Я пытаюсь заставить его работать в следующих двух строках: -4-45- ИЛИ -15-25-03-

Я тестирую его с помощью этого онлайн-инструмента: https://regex101.com/

Я пытался использовать:

\-([0-9]*?)\- 

Но он получает только первые четыре как совпадение.

\-([0-9]{0,4})\-

Не находит совпадений, я ставлю скобки, где указать длину.

\-([0-9]|[0-9][0-9])\-

То же, что и первый, работает только с первым номером, думаю, я не понимаю, как работает «ИЛИ».

Вот скриншот с некоторыми результатами: https://prnt.sc/napafa

Ожидаемые результаты: -4-45-

Группа 1: 4

Группа 2: 45

и для второй строки: -15-25-03-

Группа 1: 15

Группа 2: 25

Группа 3: 03

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

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