我正在阅读html源代码,我需要从中获取以下数据。
LMS.pageData['product']['maxThreshold'] ='6';
在上面的例子中我需要抓住6。
答案 0 :(得分:1)
您可以使用简单的捕获分组:
"LMS.pageData\['product'\]\['maxThreshold'\] ='(\d)';"
然后你需要从匹配模式中提取第一组!
您还可以使用直观返回数字,而无需获取第一组:
"(?<=LMS.pageData\['product'\]\['maxThreshold'\] =')\d(?=';)"
答案 1 :(得分:1)
您可以使用环视功能在行尾添加'...'
内的数字,如下所示:
<?php
$re = "#(?<=')\d+(?=';\s*$)#m";
$str = "LMS.pageData['product']['maxThreshold'] ='6';";
preg_match($re, $str, $matches);
print_r($matches[0]);
请参阅IDEONE demo
如果输入包含多行preg_match_all
s,请使用'6';
获取多个匹配项。