【发布时间】:2011-07-18 11:57:39
【问题描述】:
在匹配涉及美元符号的子模式时,我遇到了一些问题。例如,考虑以下文本块:
Regular Price: $20.50 Final Price: $15.20
Regular Price: $18.99 Final Price: $2.25
Regular Price: $11.22 Final Price: $33.44
Regular Price: $55.66 Final Price: $77.88
我试图用以下正则表达式匹配常规/最终价格集,但它根本不起作用(根本没有匹配):preg_match_all("/Regular Price: \$(\d+\.\d{2}).*Final Price: \$(\d+\.\d{2})/U", $data, $matches);
我逃脱了美元符号,所以给出了什么?
【问题讨论】:
-
尝试在美元符号上使用 \\\ 进行转义。可以推断问题美元符号与 PHP 使用 $ 执行某些工作的事实之间的关系。 (我也用 $ 做工作,这似乎是合乎逻辑的)。
-
你试过不转义$的单引号吗?