Как соответствовать 4 или 5 цифрам в следующем? - PullRequest
1 голос
/ 01 мая 2019

Как сопоставить число в строке ниже?

pe01058pr04
pe1234pr03

Мы можем получить 4 или 5 цифр, как показано выше.

Я попробовал следующее регулярное выражение:

.*([0-9]{4,5}).*

Но это соответствует только 4 цифрам.

Мне нужно 5 цифр для "pe01058pr04" -> 01058

Мне нужно 4 цифры для сопоставления для "pe1234pr03" -> 1234

Ответы [ 2 ]

2 голосов
/ 01 мая 2019
my ($first_sequence_of_digits) = $string =~ /(\d+)/;
2 голосов
/ 01 мая 2019

Вы можете просто использовать \d{4,5} для соответствия 4 или 5 цифрам.

Regex Demo

Кроме того, ваше регулярное выражение соответствует всем пяти и четырем цифрам, как вы хотите в group1. Смотрите это Но почему бы вам просто не использовать \d{4,5}, как я предлагал выше? A

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