加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP Regex匹配最后一次出现的字符串

发布时间:2020-12-13 21:45:52 所属栏目:PHP教程 来源:网络整理
导读:我的字符串是$text1 =’A373R12345′ 我想找到这个字符串的最后一个数字编号. 所以我使用这个正则表达式^(.*)[^ 0-9]([^ – ] *) 然后我得到了这个结果: 1.A373 2.12345 但我的预期结果是: 1.A373R (它有’R’) 2.12345 另一个例子是$text1 =’A373R 12345
我的字符串是$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+)$/',$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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读