【发布时间】:2012-07-08 16:40:35
【问题描述】:
我有以下正则表达式
((\$|(\\\[)).*?(\$|(\\\])))
它应该捕获$$ 和\[\] 之间的所有内容,我在http://gskinner.com/RegExr/ 上对其进行了测试,它正在工作。
PHP 变体是(双反斜杠)
((\$|(\\\\\[)).*?(\$|(\\\\\])))
我想根据该正则表达式拆分我的文本。我怎么知道它只使用了第一个(也是最大的组)而不是这些小的组?
preg_split('/((\$|(\\\\\[)).*?(\$|(\\\\\])))/', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
所以对于文本This is my $test$ for something. 我应该得到一个数组
[0] => This is my
[1] => $test$
[2] => for something.
但我明白了
[0] => This is my
[1] => $test$
[2] => $
[3] =>
[4] => $
[5] => for something.
【问题讨论】:
标签: php regex preg-split