Моя строка: $text1 = 'A373R12345'
Я хочу найти последнее отсутствие цифрового номера этой строки.
Поэтому я использую это регулярное выражение ^(.*)[^0-9]([^-]*)
Тогда я получил этот результат:
1.A373
2,12345
Но мой ожидаемый результат:
1.A373R
(Он имеет «R»)
2,12345
Другим примером является $text1 = 'A373R+12345'
Тогда я получил этот результат:
1.A373R
2,12345
Но мой ожидаемый результат:
1.A373R +
(Он имеет «+»)
2,12345
Я хочу содержать последний цифровой номер!
Пожалуйста помоги !! благодаря!!
$text1 = 'A373R12345'; preg_match('/^(.*[^\d])(\d+)$/', $text1, $match); echo $match[1]; // A373R echo $match[2]; // 12345 $text1 = 'A373R+12345'; preg_match('/^(.*[^\d])(\d+)$/', $text1, $match); echo $match[1]; // A373R+ echo $match[2]; // 12345
Объяснение разбитого регулярного выражения:
^ match from start of string (.*[^\d]) match any amount of characters where the last character is not a digit (\d+)$ match any digit character until end of string