我使用以下代码在数组中找到后一个单词。工作正常
$searchkey = array('rs','balance is now','total');
$data = "20960.00 of vTopUp transferred to your account, Your balance is now 21450.00 of vTopUp . No.is KONTH/1402/C00392.";
foreach($searchkey as $key){
$result=preg_match_all("/(?<=(".$key."))\s*([0-9,]+[.\d][\d]*)/i",$data,$networkID);
if($result){$myanswer = @$networkID[0][0];break;}
}
echo $myanswer;
注意:$ searchkey是固定的,$ data不是固定的。
现在我想在数组
中找到一个数字 之前的$searchkey = array('of vTopUp','is success');
对于上述数据,结果应为
20960
答案 0 :(得分:1)
您可以像这样反转正则表达式:
/([0-9,]+[.\d][\d]*)\s*(?:(?!".$key.").)*/i
(?!".$key.").)*
会匹配所有内容,但不包括您的密钥。