免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3034 | 回复: 10
打印 上一主题 下一主题

[正则求教]为什么没法匹配"$"符号 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-20 02:26 |只看该作者 |倒序浏览
列举Smarty模版页面中的所有变量
需要匹配的是以“{$”开头,以“}”结尾,中间的内容


假设有
<html>
<body>
user:{$user}<br>
pass:{$pass}<br>
other:{other}
</body>
</html>


用正则
preg_match_all("/\{[^\}]+\}/",$s,$t);
得到的是{$user}  {$pass}  {other}

其实{other}不符合匹配结果的,


后来我把正则改成
preg_match_all("/\{\$[^\}]+\}/",$s,$t);
结果就变成空了

不知道为什么,怎么匹配“$”符号呢?

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
2 [报告]
发表于 2007-01-20 10:02 |只看该作者
\\\$看看是否可以呢?

论坛徽章:
0
3 [报告]
发表于 2007-01-20 11:01 |只看该作者

  1. preg_match_all("/\{\s*?\$[^\}]+\s*?\}/i",$s,$t);
复制代码

论坛徽章:
0
4 [报告]
发表于 2007-01-22 09:40 |只看该作者
原帖由 HonestQiao 于 2007-1-20 10:02 发表
\\\$看看是否可以呢?



可以唉

为什么呢,不是“\”代表转意符号“\$”匹配“$”吗

为什么会用\\\$

高手赐教啊,知其然还要知其所以然

论坛徽章:
0
5 [报告]
发表于 2007-01-22 10:19 |只看该作者
在双引号里

论坛徽章:
0
6 [报告]
发表于 2007-01-24 11:52 |只看该作者
原帖由 HonestQiao 于 2007-1-20 10:02 发表
\\\$看看是否可以呢?


版足不亏死办主 PFPF

论坛徽章:
0
7 [报告]
发表于 2007-01-24 18:14 |只看该作者
你多写几个\\\\\都没问题

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
8 [报告]
发表于 2007-01-25 00:09 |只看该作者
原帖由 yueliangdao0608 于 2007-1-24 18:14 发表
你多写几个\\\\\都没问题


多谢无用,画蛇添足。

论坛徽章:
0
9 [报告]
发表于 2007-01-25 10:28 |只看该作者
原帖由 HonestQiao 于 2007-1-25 00:09 发表


多谢无用,画蛇添足。



老大 还有,怎么匹配“*”星号和中英问混合字符串哪

难度好高啊

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
10 [报告]
发表于 2007-01-25 12:48 |只看该作者
原帖由 芸野小琪 于 2007-1-25 10:28 发表



老大 还有,怎么匹配“*”星号和中英问混合字符串哪

难度好高啊


preg有一个函数可以处理。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP