字符串中正则提取两位数字

小囧 发布于 2011/09/05 10:33
阅读 874
收藏 0

昨天有人在群里问

$string = '$#4502$#4402$#43$#49';

用正则取出  43 49 当时我就给他说 这还不简单 

preg_match_all('/\$\#([\d]{2})/',$string,$arr);

但是现在出现了一个问题,  他会把 4502 4402 里面的 45  44 也给提取出来,

而我现在需要的是 43 49 哎。 尝试了好久都没尝试成功。。

盼望 有人能指点迷津~

加载中
0
小囧
小囧

preg_match_all('/\$\#(\d{2})(?=\$|$)/',$string,$arr);

 

自己解决哟!

0
songqipro
songqipro

试一下这个:

(?<=\$\#)(\d{2})(?!\d{1,2})

在python下面可以得到你想要的结果,PHP下面没有试过。

小囧
小囧
beautiful
0
小囧
小囧

引用来自“songqi”的答案

试一下这个:

(?<=\$\#)(\d{2})(?!\d{1,2})

在python下面可以得到你想要的结果,PHP下面没有试过。

beautiful!太漂亮了
返回顶部
顶部