Как убрать десятичную дробь и символы после? - PullRequest
1 голос
/ 14 октября 2019

Мне нужно исключить хранение десятичных и 3-х конечных символов с помощью регулярных выражений, и я не могу понять это.

Некоторые номера счетов 1234.001, а другие 5.000.

Мне нужно только включить любые положительные целые числа длиной 1 или 4 символа.

В настоящее время я использую

[0-9]{1,4}$

, и в нем сохраняется вся строка. Я также пытался

[0-9\-]{1,4}$

, но он не устраняет десятичные и после них символы.

1 Ответ

1 голос
/ 14 октября 2019

Если вы хотите сопоставить 1 или 4 цифры, вы можете использовать чередование. Чтобы сохранить цифры, вы можете захватить их в группе и сопоставить конечную точку и 3 цифры.

В замене используйте группу захвата 1, которая состоит из 1 или 4 цифр.

Вы можетеиспользуйте границы слов \b, чтобы совпадение не входило в большее слово.

\b(\d{4}|\d)\.\d{3}\b
  • \b граница слова
  • ( Захват группа 1
    • \d{4}|\d Соответствует либо 4 цифрам, либо одной цифре
  • ) Закрыть группу
  • \.\d{3} Соответствует точке и 3цифры
  • \b Граница слова

Regex demo

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