【发布时间】:2011-10-01 21:35:02
【问题描述】:
我得到了这个正则表达式:
$val = "(123)(4)(56)";
$regex = "^(\((.*?)\))+$";
preg_match_all("/{$regex}/", $val, $matches);
谁能告诉我为什么这只匹配最后一个数字(56)而不是单独的每组数字?
这是 $matches 在上述正则表达式运行后包含的内容:
array
0 =>
array
0 => string '(123)(4)(56)' (length=12)
1 =>
array
0 => string '(56)' (length=4)
2 =>
array
0 => string '56' (length=2)
【问题讨论】:
-
@Felix King:知道如何在 PHP 中获取捕获吗?有机会吗?
-
呵呵,没想到这么简单的事情,PCRE 是不可能的。有什么解决办法吗?我基本上是在尝试匹配这个:字符串中的“(any_amount_of_numbers)”,只要它是字符串包含的唯一内容,根据需要多次。
标签: php regex preg-match pcre