Regex/PHP-quandry
我正在使用这段很棒的代码: 它在regex101.com上运行得非常好 但它并没有在我的代码中填充$match,我也不知道为什么(而且我的大脑超级兴奋)Regex/PHP-quandry,php,regex,Php,Regex,我正在使用这段很棒的代码: 它在regex101.com上运行得非常好 但它并没有在我的代码中填充$match,我也不知道为什么(而且我的大脑超级兴奋) $price=38; $dollar\u regex=“/\$([0-9]+[\.]*[0-9]*)/”; $str=“是[添加$3.00]”; 预匹配(“/\$([0-9]+[\.]*[0-9]*)/”,$str,$match); $fee=$match[1]; echo“费用为$FEE。将价格从$price更改为”; $price=$pri
$price=38;
$dollar\u regex=“/\$([0-9]+[\.]*[0-9]*)/”;
$str=“是[添加$3.00]”;
预匹配(“/\$([0-9]+[\.]*[0-9]*)/”,$str,$match);
$fee=$match[1];
echo“费用为$FEE。将价格从$price更改为”;
$price=$price+$fee;
回声“$price
”;
正则表达式本身是正确的。它在这里遇到了PHP字符串转义:
preg_match("/\$...
↑
一个反斜杠将以双引号转义$
符号。因此,正则表达式引擎将以literal/$(…)/
的形式接收它
因此,要么使用两个反斜杠,要么将美元符号括在charclass中以便于阅读。正则表达式本身是正确的。它在这里遇到了PHP字符串转义:
preg_match("/\$...
↑
一个反斜杠将以双引号转义$
符号。因此,正则表达式引擎将以literal/$(…)/
的形式接收它
因此,要么使用两个反斜杠,要么将美元符号括在一个charclass中以便于阅读。很好的解释!(我需要复制这个奇特的箭头:D)最近才想出键盘快捷键(AltRight+Y/U/I/etc)很好的解释!(我需要复制这个奇特的箭头:D)最近才找到键盘快捷键(AltRight+Y/U/I/etc)