Регулярное выражение для соответствия от 1 до 4 цифр, сопровождаемых многими нулями или пробелами - PullRequest
0 голосов
/ 08 января 2019

Я сделал шаблон

([0-9]{1,4})(?<=[0\s]*)

Он не достигает того, чего я хочу , он слишком жадный. По сути, я хочу найти последние 4 цифры.

Учитывая данные испытаний, я бы хотел, чтобы эти совпадения:

12          -> 12
0123        -> 0123
1230        -> 1230
1234        -> 1234
 12         -> 12
 0123       -> 0123
 1230       -> 1230
 1234       -> 1234
 0123       -> 0123
000123      -> 0123
001230      -> 1230
001234      -> 1234
 000123     -> 0123
 001230     -> 1230
 001234     -> 1234
 000123     -> 0123
 0123       -> 0123
a11230      -> 1230
a11234      -> 1234
 a10123     -> 0123
 a11230     -> 1230
 a11234     -> 1234
 a10123     -> 0123

Каков «лучший» шаблон для достижения этого результата?

Лучше всего быть коротким и легко понять, если нет какой-либо веской и понятной причины для альтернативы.

1 Ответ

0 голосов
/ 08 января 2019

Вы можете использовать

\d{1,4}(?!\S)

Пример, https://regex101.com/r/Lk328i/3

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