if (
preg_match("/^bundle id/", trim($rows[$key])) &&
preg_match('/\d/', trim($rows[$key]), $temp))
bundle id 1 mode active
bundle id 99 mode active
bundle id 999 mode active
如何在给定的preg_match表达式中找出1,99和999。
答案 0 :(得分:0)
您的第二个preg_match
需要成为preg_match_all
,并且正则表达式需要查找\d+
,这是一个或多个数字:
preg_match_all('/\d+/', trim($rows[$key]), $temp))
$temp
现在将包含一系列值:
array (size=1)
0 =>
array (size=3)
0 => string '1' (length=1)
1 => string '99' (length=2)
2 => string '999' (length=3)
以上答案是基于样本字符串是一行。
如果每一行代表不同的字符串,那么您需要做的就是将正则表达式更改为\d+
:
if(preg_match("/^bundle id/", trim($rows[$key])) &&
preg_match('/\d+/', trim($rows[$key]), $temp))
答案 1 :(得分:0)
我会这样做:
preg_match("/^bundle id\s*(\d+)/", trim($rows[$key]), $match)
然后结果在$match[1]