php中如何用正则提取字符串中位数不确定的数字(不是全部数字)

有下列字符串:
(XXXX-2月16.41 )
(XXXXXXX-3月13.7 ) 
(XXXXXX-10月6.25 )
 ... 

请问php中,如何用正则提取“月”后面的数字啊(位数不固定),或者提供下其他思路也可,谢谢!

阅读 3.9k
3 个回答

https://implode.io/TunDC8

$str = <<<STR
(XXXX-2月16.41 )
(XXXXXXX-3月13.7 ) 
(XXXXXX-10月6.25 )
STR;

preg_match_all('/(?<=月)[\d\.]+/', $str, $matches);

return $matches;
$str = 'XXXX-2月16.41';
$strs = explode('月',$str);
$number = $strs[1];

如果是逐行取,可以使用mb_strrpos返回月最后一次出现的位置,然后再用mb_substr截取月后面的数字。
如果是整段取,使用正则表达式。楼上已经给出了答案。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题