免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
0
1 [报告]
发表于 2012-08-19 16:12 |显示全部楼层
正则中[12a-z]表示一个集合,如果在这集合的最前头加^ , [^12a-z],就是取反,其他情况就是 ‘锚点’

这也能搞混?

论坛徽章:
0
2 [报告]
发表于 2012-08-19 17:02 |显示全部楼层
回复 3# yonka


1. 所谓锚点,就是指位置了。开头, 行尾, 单词边界,等位置, 所谓锚点。。。。
这个我还要怎么解释, 难道一定要说船舶靠岸的时候下锚的点么  引申来~~

2. 谁告诉你那个表示取反? 你自己试过么

论坛徽章:
0
3 [报告]
发表于 2012-08-19 17:19 |显示全部楼层
[[:space:]]  是一个整体, 表示各种空格字符, 如空格,制表符等。
^[[:space:]] 表示开头是[[:space:]] 的,会被匹配

取反? 你说咋取

论坛徽章:
0
4 [报告]
发表于 2012-08-20 12:06 |显示全部楼层
回复 11# wuxiaobo_2009


多谢回复。
你看了我的帖子得出了什么结论,我表示很迷惑,是不是我哪里表达不清楚呃。

“[^[:space]]  完全没有问题 , 你的明白?”
我的明白。但是我没说他有问题啊。

论坛徽章:
0
5 [报告]
发表于 2012-08-20 12:27 |显示全部楼层
本帖最后由 id_for_fun 于 2012-08-20 12:31 编辑

回复 9# yonka

确切的讲, 当^ 处于一个表示集合的符号(就是一对中括号[])的里边的最前面的(像这样[^...])时候,表示取反。
其他场合,作为‘开头的位置’ 匹配

3楼 ,6楼 :
不是取反, 匹配为:开头是空白字符

9楼:

为了匹配空白字符, 你要用[[:space:]]
[:space:]这样的写法, 只有在一个集合环境里才有意义。
也就是说, 你 grep ^[:space:]  ,表示的并不是开头是空白字符,他表示开头是 :, s, p, a, c, e 这几个中的一个。

所以虽然定义的[:space:] 表示空白字符, 但是通常你看到的时候都是 [[:space:]]

[^[:space:]] 这个表示不是空白的字符。其他楼的兄弟回答过了。

你man grep看一看就明白。这东西看文档最方便了, 看一遍什么都明白了。
(就算我解释的都是正确的, 你总是会觉得不完全可信,自己看文档最可信)

man grep 然后搜一下 :space 找到这部分, 读的时候看仔细点,看清楚它的确切含义,否则容易理解错误,就比如11 楼。哼哼!!

编辑:修改错字

论坛徽章:
0
6 [报告]
发表于 2012-08-22 23:33 |显示全部楼层
本帖最后由 id_for_fun 于 2012-08-22 23:36 编辑

回复 20# wuxiaobo_2009

cu真的废了,我也该离开了。(偷偷告诉你,这是个小号,也不必回复了,我肯定看不到。不过我还是希望有一天你会想起来你说的是对的还是错的。)
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP