首页 / PHP / 关于preg_match的问题
关于preg_match的问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了关于preg_match的问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3611字,纯文字阅读大概需要6分钟。
内容图文
![关于preg_match的问题](/upload/InfoBanner/zyjiaocheng/196/da838232725643c0b91d1c647dea8a82.jpg)
preg_match("#{\"name\":\"(.*?)\",\"code\":\"350000\"}#i",$file,$rg1);
// print_r($rg1);exit();
$Province=$rg1[1];
不知道为什么始终得到我要的 福建省 求解。。
回复讨论(解决方案)
把 \ 换成 \\\ 再试试
header("content-type:text/html;charset=utf-8");$file="[{\"name\":\"安徽省\",\"code\":\"340000\"},{\"name\":\"北京市\",\"code\":\"110000\"},{\"name\":\"福建省\",\"code\":\"350000\"},{\"name\":\"甘?省\",\"code\":\"620000\"},{\"name\":\"??省\",\"code\":\"440000\"},{\"name\":\"?西?族自治?\",\"code\":\"450000\"},{\"name\":\"?州省\",\"code\":\"520000\"},{\"name\":\"海南省\",\"code\":\"460000\"},{\"name\":\"河北省\",\"code\":\"130000\"},{\"name\":\"河南省\",\"code\":\"410000\"},{\"name\":\"黑?江省\",\"code\":\"230000\"},{\"name\":\"湖北省\",\"code\":\"420000\"},{\"name\":\"湖南省\",\"code\":\"430000\"},{\"name\":\"吉林省\",\"code\":\"220000\"},{\"name\":\"江?省\",\"code\":\"320000\"},{\"name\":\"江西省\",\"code\":\"360000\"},{\"name\":\"??省\",\"code\":\"210000\"},{\"name\":\"?蒙古自治?\",\"code\":\"150000\"},{\"name\":\"?夏回族自治?\",\"code\":\"640000\"},{\"name\":\"青海省\",\"code\":\"630000\"},{\"name\":\"山?省\",\"code\":\"370000\"},{\"name\":\"山西省\",\"code\":\"140000\"},{\"name\":\"?西省\",\"code\":\"610000\"},{\"name\":\"上海市\",\"code\":\"310000\"},{\"name\":\"四川省\",\"code\":\"510000\"},{\"name\":\"天津市\",\"code\":\"120000\"},{\"name\":\"西藏自治?\",\"code\":\"540000\"},{\"name\":\"新疆?吾?自治?\",\"code\":\"650000\"},{\"name\":\"?南省\",\"code\":\"530000\"},{\"name\":\"浙江省\",\"code\":\"330000\"},{\"name\":\"重?市\",\"code\":\"500000\"}]";preg_match("#{\"name\":\"([^\"]*)\",\"code\":\"350000\"}#i",$file,$rg1);$Province = $rg1[1];print_r($Province);
正则式最好用单引号,双引号遇上转义很麻烦
如果只是想要结果完全可以用json_decode方便快捷
因为你写的匹配的内容太多了,在这里.能匹配
{\"name\":\" 安徽省\",\"code\":\"340000\"},{\"name\":\"北京市\",\"code\":\"110000\"},{\"name\":\"福建省\",\"code\":\"350000\"}
看出上面的红色字体就明白,因为你没有做限定,所有就会出现你说的问题,最简单就是把 . 匹配的内容加以限定,例如改成 [^}] (非}以外的字符),就能排除前2个匹配内容
preg_match("#{\"name\":\"([^}]*?)\",\"code\":\"350000\"}#i",$file,$rg1);
preg_match('#{"name":"([^:]+)","code":"350000"}#i',$file,$rg1);
内容总结
以上是互联网集市为您收集整理的关于preg_match的问题全部内容,希望文章能够帮你解决关于preg_match的问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。