获取ip的正则表达式
4-7具体的答案是什么呢?
还有我匹配ip的正则是这个(1\d{1,2}|2[0-5]{2})\.(\d{1,2}|1\d{1,2}|2[0-5]{2})\.(\d{1,2}|1\d{1,2}|2[0-5]{2})\.((\d{1,2})|(1\d{1,2})|(2[0-5]{2}))但是为什么情况是这样,下图
,请老师帮忙看看哪里出问题了
正在回答
你好,因为(\d{1,2})只会匹配到两位数字,而|是或的关系,当前边匹配成功时,则不会再进行后边的匹配,因此只匹配到了两位数字,
你可以使用(1\d{1,2}|2[0-5]{2})\.(\d{1,2}|1\d{1,2}|2[0-5]{2})\.(\d{1,2}|1\d{1,2}|2[0-5]{2})\.(\d{1,2})匹配,会发现与你此时的结果是相同的,是因为|之后的程序并没有执行。
这种问题没有标准答案的,在百度上搜也是各式各样呢
你可以试试这个(0|1\d{1,2}|2[0-5]{2})\.(0|1\d{1,2}|2[0-5]{1,2})\.(0|1\d{1,2}|2[0-5]{1,2})\.(0|1\d{1,2}|2[0-5]{1,2})根据你的改的
你好,在正则表达式在线匹配的页面上面是全局匹配的,
建议参考
<?php
$pattern='/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/';
$subject="
'10.0.0.0',
'255.255.255.255',
'128.12.187.12',
'187.234.213.231',
'289.243.2413.567'
";
$result=preg_match_all($pattern,$subject,$match);
//print_r($result);
print_r($match);
?>如果解决您的问题请采纳,祝学习愉快!
- 参与学习 人
- 提交作业 225 份
- 解答问题 3372 个
掌握用PHP开发互联网网站的必备功能,掌握当下主流的Linux系统开发,并熟练使用热门框架ThinkPhp开发电商团购项目,是通向PHP工程师必经之路。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星