免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yonka
打印 上一主题 下一主题

[文本处理] 关于^是取反还是句首 [复制链接]

论坛徽章:
0
1 [报告]
发表于 2012-08-20 09:17 |显示全部楼层
回复 7# id_for_fun


    楼上的我建议看看 rx(regular express) ,这个是基础啊:
[A-Z] :表示所有大写字母(当然一次只能出现其中的任意一个)


我们说的空白字符: \t 空格 回车等等  提出了一个统一的标准(POSIX): [:space]  用这个来表示,当然原来老的用\s 就表示空白字符,这个又涉及到  字符集(Ascii unicode 之说) 就深入到这里 [:digit:] 数字集合 等等表示了。

[[:space:]] 是在上边的集合 外边套了一个方括号表达式马甲。哈哈

^ 的取反只是针对[] 马甲来说的,你完全可以写成[^\t空格回车等等]  [^0-9]。当然如果你想用POSIX的统一标准写法
[^[:space]]  完全没有问题 , 你的明白?


至于取反那个不在这个马甲里边的情况都是取反(当然我说的是正则表达式哦,有人和我扯表示行头,我就和你急!) 。你的明白?

论坛徽章:
0
2 [报告]
发表于 2012-08-22 11:14 |显示全部楼层
本帖最后由 wuxiaobo_2009 于 2012-08-22 11:16 编辑

回复 18# yonka


   我个人理解是RX,就是找到你匹配的东东就行,像很多工具sed awk grep 甚至vi perl 之流,完全可以实现(都是逐行处理文本),你不匹配要不用! 有可能用条件else 等等就实现了,RX 就是看是否匹配,再软件程序中如何实现做到高效
快速写出有效代码,咱们在这空谈RX 没有意思,工具实现起来也存在差异! 希望你能明白。

论坛徽章:
0
3 [报告]
发表于 2012-08-22 11:21 |显示全部楼层
回复 14# id_for_fun

别扯了,你说的grep 中的rx 不是rx 。^ 表示行头,那个rx 书中给你说了。你真牛逼。

它只在字符集[] 中表示非!
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP