我的代码运行良好 - 但我不明白结果。我的目标是确保传入的值是这些格式之一:正则表达式preg_match返回的结果太多了吗?
- 00000-0000
PHP:
$str = '12345-6789';
preg_match('/^[0-9]{5}(-?[0-9]{4})?$/', $str, $found);
print_r($found);
返回:
Array
(
[0] => 12345-6789
[1] => -6789
)
为什么我会得到第二个结果[1] => -6789
?
谢谢!
谢谢!我知道了。有点像Apache反向引用。 – 2013-04-30 16:52:15
@jared_flack他们不是特定于Apache。反向引用是对同一个表达式中被捕获的组的引用(例如,'(\ d)\ 1' - '1'是对所捕获的数字的反向引用)。 – 2013-04-30 16:57:48