My string is $text1 = 'A373R12345'
I want to find last none digital number occurrence of this string.
So I use this regular expression ^(.*)[^0-9]([^-]*)
Then I got this result:
1.A373
2.12345
But my expected result is:
1.A373R
(It has 'R')
2.12345
Another example is $text1 = 'A373R+12345'
Then I got this result:
1.A373R
2.12345
But my expected result is:
1.A373R+
(It has '+')
2.12345
I want contain the last none digital number!!
Please help !! thanks!!
$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
Explanation of regex broken down:
^ 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
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.