Dav*_*iss 0 php regex string preg-match
我想从以下字符串中捕获:
var MyCode = "jdgsrtjd";
var ProductId = 'PX49EZ482H';
var TempPath = 'Media/Pos/';
Run Code Online (Sandbox Code Playgroud)
我想得到的是单引号ProductId值之间的可变长度值
PX49EX482H
Run Code Online (Sandbox Code Playgroud)
我有这个,我认为它很接近,但是单引号让我感到沮丧.我不确定如何正确逃脱它们.
preg_match('/var ProductID ='(.*?)';/', $str, $matches);
Run Code Online (Sandbox Code Playgroud)
提前致谢!
或者你可以用这种方式"代替'你不需要逃避'模式中的发现:
preg_match("/var ProductID ='(.*?)';/", $str, $matches);
Run Code Online (Sandbox Code Playgroud)
您要查找的模式var ProductID ='(.*?)';也与输入字符串不匹配,因为:
=ProductID 不匹配 ProductId要修复1,您可以在之后给出一个空格=.如果您不知道可以\s*用于任意空间的空格数.
要修复2,可以使用i修饰符使匹配大小写不敏感.
preg_match("/var ProductID\s*=\s*'(.*?)';/i", $str, $matches);
^^ ^^ ^
Run Code Online (Sandbox Code Playgroud)