免费注册 查看新帖 |

Chinaunix

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

一个正则式问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-09 11:08 |只看该作者 |倒序浏览
if ($string=~/abc/)   表示如果变量中包含abc

字符串中不包含abc该怎么表示呀

论坛徽章:
0
2 [报告]
发表于 2007-04-09 11:19 |只看该作者
"=~" 这个是匹配符,如果匹配返回真,不匹配就返回假呗

论坛徽章:
0
3 [报告]
发表于 2007-04-09 12:10 |只看该作者
问题是这样,如果字符串中不包含"刘二“这个名字,就打印出来,反之什么也不做。
我这样写:
              print $string if($string中不包含刘二);

不包含刘二的表示式该如何写呢?

论坛徽章:
0
4 [报告]
发表于 2007-04-09 12:29 |只看该作者

请看图

请看图

[ 本帖最后由 dajun 于 2007-4-9 12:40 编辑 ]

snap.jpg (62.38 KB, 下载次数: 27)

snap

snap

论坛徽章:
0
5 [报告]
发表于 2007-04-09 14:28 |只看该作者
原帖由 xiao_lin 于 2007-4-9 11:08 发表
if ($string=~/abc/)   表示如果变量中包含abc

字符串中不包含abc该怎么表示呀


$string=~/[^abc]/

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2007-04-09 17:28 |只看该作者
原帖由 knuoxy 于 2007-4-9 14:28 发表


$string=~/[^abc]/

楼上想得太简单了吧?^_^
可以负责任地说,这样的正则是能写出来的(小弟不才就曾写过一些类似的东西作为学习正则的练习^_^),但通常不用那么麻烦罢了。因为通常有grep -v /unless/if not等等方法可以绕过去。

论坛徽章:
0
7 [报告]
发表于 2007-04-09 17:33 |只看该作者
我选择   print $string if($string!~/刘二/);

好使了。

想不明白为什么 $string=~/[^刘二]/);不行



感谢大家的帮助

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2007-04-09 17:42 |只看该作者
/[^abc]/表示什么?
除abc之外的任一字符!概念要清楚。^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP