Chinaunix首页 | 论坛 | 博客
  • 博客访问: 81200
  • 博文数量: 42
  • 博客积分: 687
  • 博客等级: 上士
  • 技术积分: 425
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-01 15:39
文章分类

全部博文(42)

文章存档

2011年(12)

2010年(30)

分类:

2010-09-14 17:27:38

[] 字符集合的 RE 特殊字符的符号
 [list] 范例:grep -n 'g[ld]' regular_express.txt 搜寻含有 (gl) 或 (gd)
 的那一行~ 需要特别留意的是,在 [] 当中『谨代表一个待搜寻的字符』,例如:
 a[afl]y 代表搜寻的字符串可以是 aay, afy, aly 亦即 [afl] 代表 a 或 f 或 l
 的意思! [ch1-ch2] 范例:grep -n '[0-9]' regular_express.txt 搜寻含有任
 意数字的那一行!需特别留意,在字符集合 [] 中的减号 - 是有特殊意义的,他
 代表两个字符之间的所有连续字符!但这个连续与否与 ASCII 编码有关, 因此,
 您的编码需要设定正确(在 bash 当中,需要确定 LANG 与 LANGUAGE 的变量是否
 正确!) 例如所有大写字符则为 [A-Z] [^] 范例:grep -n 'oo[^t]' regular_express.txt
 搜寻的字符串可以是 (oog) (ood) 但不能是 (oot) ,那个 ^ 在 [] 内时, 代表的意义是
 『反向选择』的意思~例如,我不要大写字符,则为 [^A-Z] ~ 但是,需要特别注意的是,
 如果以 grep -n [^A-Z] regular_express.txt 来搜寻, 却发现该档案内的所有行都被列出,
 为什么?因为这个 [^A-Z] 是『非大写字符』的意思, 因为每一行均有非大写字符,例如第一
 行的 "Open Source" 就有 p,e,n,o.... 等等的小写字符, 以及双引号 (") 等字符,所以当然
 符合 [^A-Z] 的搜寻!
阅读(984) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~