1

一段时间以来,我一直坚持一个相当简单preg_match的问题,想知道是否有人可以帮助我。

这是我想要做的。

$string = 'Sub Total£24.00Shipping£5.95Grand Total£29.95Email:';
$m = preg_match('/Shipping(.*?)\Grand/s', $string, $match);

数组$match返回空,我真的不明白为什么。

4

2 回答 2

2

\G令牌是“最后一个匹配”位置锚(如在 PERL 中)。

你需要逃避它:
\\G

更多信息:

锚 \G 匹配上一次匹配结束的位置。在第一次匹配尝试期间,\G 以 \A 的方式匹配字符串的开头。

来源:http ://regular-expressions.mobi/continue.html

于 2013-07-02T19:10:27.383 回答
0

看起来你不应该有\before Grand。顺序\G必须意味着什么。

于 2013-07-02T19:00:36.923 回答