我的preg_match出了什么问题?
preg_match('numVar("XYZ-(.*)");',$var,$results);
我希望从此处获取所有 CONTENT :
numVar( “XYZ-的 CONTENT ”);
感谢您的帮助!
答案 0 :(得分:2)
我认为这是PHP?如果是这样,您的代码就会出现三个问题。
/
,但您可以使用任何匹配的对。(
字符,而是创建RE组。numVar("XYZ-CONTENT1");numVar("XYZ-CONTENT2");
之类的字符串将匹配两者,而您的“内容”组将为CONTENT1");numVar("XYZ-CONTENT2
。试试这个:
$var = 'numVar("XYZ-CONTENT");';
preg_match('/numVar\("XYZ-(.*?)"\);/',$var,$results);
var_dump($results);
答案 1 :(得分:1)
将示例字符串粘贴到http://txt2re.com并查看PHP结果。
它将显示您需要转义对正则表达式引擎具有特殊含义的字符(例如括号)。
答案 2 :(得分:0)
你应该逃避一些角色:
preg_match('numVar\("XYZ-(.*)"\);',$var,$results);
答案 3 :(得分:0)
preg_match("/XYZ\-(.+)\b/", $string, $result);
print_r($result[0]); // full matches ie XYZ-CONTENT
print_r($result[1]); // matches in the first paren set (.*)