соответствовать регулярному выражению только в группах между тире - PullRequest
0 голосов
/ 19 июня 2020

Я хочу соответствовать следующему формату:

совпадения чисел и знаков-совпадений

пример:

mxlgl8ldlsl2-282
1h2hsh5hshk5-31293
9g96mdh46dhd-3129652524

группа 1 - это совпадающие числа и символ, а группа 2 - номера соответствия

Я не могу заставить его работать, чтобы соответствовать только группе 1 и 2 отдельно, он всегда включает da sh или все совпадение.

Ответы [ 2 ]

2 голосов
/ 19 июня 2020

Вы можете попробовать:

^([^\W_]+)[-–](\d+)$

Объяснение приведенного выше регулярного выражения:

^, $ - обозначает начало и конец строки соответственно.

([^\W_]+) - соответствует первой группе захвата только с [0-9A-Za-z] 1 или более раз.

[-–] - Соответствует - и ( Em-da sh).

(\d+) - Соответствует цифры [0-9] один или несколько раз.

Pictorial Representation

You can find the demo of the above regex in здесь.

0 голосов
/ 19 июня 2020

Я почти уверен, что ([a-zA-Z0-9]*)-(\d*) подойдет. Я тестировал его в тестере регулярных выражений, и он работает по вашим критериям. Но вы тоже хотите запечатлеть da sh? Затем используйте ((?:[a-zA-Z0-9]*)-(?:\d*)) (я не пытался это сжать). Кстати, я не могу комментировать (это должен быть комментарий), поэтому отвечаю.

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