正则

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-23 14:20:43
原创
1060 人浏览过

$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)就必然匹配不到

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
正则表达式 - 请教个nginx正则替换的问题
来自于 1970-01-01 08:00:00
0
0
0
java - 正则表达式问题
来自于 1970-01-01 08:00:00
0
0
0
python的正则怎么同时匹配两个不同结果?
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板