Получение различных форматов чисел из строки с помощью регулярных выражений - PullRequest
3 голосов
/ 02 апреля 2020

Мне нужно получить эти числовые форматы из строки

20000
20 000
20 000 000
20 000,00
20 000.00
2000,000
200000.000

Строки могут быть

some text 20000
20000 some text 

Пока у меня есть это

/((\d){1,}[ .,]{1}[0-9]{1,}[ .,]{1}[0-9]{1,})/g

Спасибо ,

1 Ответ

3 голосов
/ 02 апреля 2020

Я бы использовал это регулярное выражение:

^[1-9][0-9]{0,2}(?:[ ,]?\d{3})*(?:[,.]\d+)?$

Демо

Вот объяснение регулярного выражения:

^                from the start of the string
[1-9][0-9]{0,2}  match 1 to 3 leading digits (first digit not zero)
(?:[ ,]?\d{3})*  then match an optional thousands separator followed by 3 digits,
                 the entire quantity zero or more times
(?:[,.]\d+)?     match an optional decimal component, using either , or . as the separator
$                end of the string
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...