$pi = /(\w{4})(\d{3})-(\d{4})(\w{2})(\d{1}?)-(2)/x;$phones =call555-1212or1-800-555-1212;echo preg_match($pi,$phones)? 1: 2;
这样他就不行
$pi = /(\w{4})(\d{3})-(\d{4})(\w{2})(\d{1}?)-/x;$phones =call555-1212or1-800-555-1212;echo preg_match($pi,$phones)? 1: 2;
这样就行!神马回事啊
回复讨论(解决方案) $pi = /(\w{4})(\d{3})-(\d{4})(\w{2})(\d{1}?)-/x;
匹配到的是
array
(
[0] => call555-1212or1-
[1] => call
[2] => 555
[3] => 1212
[4] => or
[5] => 1
)
如果加上 (2)
则需要 $phones =call555-1212or1- 800-555-1212; 中套红的位置为 2 才能匹配成功
$pi = /(\w{4})(\d{3})-(\d{4})(\w{2})(\d{1}?)-/x;
匹配到的是
array
(
[0] => call555-1212or1-
[1] => call
[2] => 555
[3] => 1212
[4] => or
[5] => 1
)
如果加上 (2)
则需要 $phones =call555-1212or1- 800-555-1212; 中套红的位置为 2 才能匹配成功
有点不理解你的意思!
$pi = /(\w{4})(\d{3})-(\d{4})(\w{2})(\d{1}?)-/x;
匹配到的是
array
(
[0] => call555-1212or1-
[1] => call
[2] => 555
[3] => 1212
[4] => or
[5] => 1
)
如果加上 (2)
则需要 $phones =call555-1212or1- 800-555-1212; 中套红的位置为 2 才能匹配成功
(2)不就是(\d{3})!而且我试过给他命一个名然后调用也不对!只能是位置的问题!但是我找不出原因啊!
(2) 表示匹配字符 2,并可向后引用
如果你想引用 (\d{3}) 则需要写作 \\2
(2) 表示匹配字符 2,并可向后引用
如果你想引用 (\d{3}) 则需要写作 \\2
$pi = /(\w{4})(?\d{3})-(\d{4})(\w{2})(\d{1}?)-(\k)/x;
请问这样写对吗?
(2) 表示匹配字符 2,并可向后引用
如果你想引用 (\d{3}) 则需要写作 \\2
好像还是匹配不了、
不管其他写什么 -2 在你的字串里就肯定没有,-(2)就必然匹配不到