Соответствие регулярных выражений для специальных символов между числами - PullRequest
1 голос
/ 26 мая 2020

Условие: от 1 до 2 di git число, за которым следует необязательное [ . , ” ’] + от 1 до 4 di git число

Примеры:

7 M
13.6 M
8.205m
9.,56m

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

7
13.6
8.205
9.,56

Шаблон Regex Я пробовал:

(?:^\d{1,2})(?:[\.\,\’\"]{0,2})\d{0,4} 

Это не работает должным образом. Есть предложения?

1 Ответ

4 голосов
/ 26 мая 2020

Вам не нужны пробелы в классе символов, и вам также не нужно экранировать символы.

Соответствие необязательных цифр \d{0,4} может также соответствовать 13.

Вы можете сделать вторую часть необязательной, включая класс символов и цифры, и использовать квантификатор +

^\d{1,2}(?:[.,”’]+\d{1,4})?

Regex demo

Если M должен присутствовать, вы можете использовать группу захвата

^(\d{1,2}(?:[.,”’]+\d{1,4})?) ?[Mm]$

Regex demo

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