Linux之正则表达式

基本(grep):
1. 
 \< 一个单词的开始, \> 一个单词的结束,界定单词的左边界右边界
2. . 匹配除换行符之外的任意一个字符
3. * 匹配前一个字符0次或者多次
4. \{n,m\} 控制字符重复的次数 匹配前面字符n到m次 ,\{n\} 匹配前面字符n次,\{n,\} 匹配前面字符至少n次 
5. ^ 匹配开头的字符
6. $ 匹配结尾的字符
7. [ ] 方括号匹配里面出现的任一字符,[abcd] 匹配abcd任意一个,[a-zA-Z] 为全部英文字母
    [^ ] 匹配不是方括号中的字符
8. \ 转义字符,\\ ,\. ,\-
9.  \d 匹配一个数字 等价于 [0-9],是Perl兼容模式的表达式
10.  \b 匹配单词的边界,\bhello\b 可精确匹配到hello单词,感觉和1类似
11.  \B 匹配非单词的边界,hello\B 可以匹配helloworld
12.  \w 匹配字母、数字和下划线,等价于 [A-Za-z0-9_]
13.  \W 匹配非字母、非数字、非下划线
14.  \n 匹配一个换行符
15.  \r 匹配一个回车符
16.  \t 匹配一个制表符
17.  \f 匹配一个换页符
18.  \s 匹配任何空白字符
19.  \S 匹配任何非空白字符 

扩展(egrep):
20.  ? 匹配前一个字符0次或1次
21.  + 匹配前一个字符1次或多次
22.  | 或 的意思,一种分支关系
23.  ( ) 通常需要|联合使用,枚举一系列可替换的字符,有些时候可以用[ ]实现相同功能
       有些时候只能用( ),比如匹配hard、hold、hood 写法为 h(ar|oo|ol)d 

POSIX字符:
24.  [: alnum:] 文字数字字符
25.  [: alpha:] 文字字符
26.  [: digit:] 数字字符
27.  [: graph:] 非空字符(非空格、控制字符)
28.  [: space:] 所有空白字符(新行、空格、制表符
29.  [: upper:] 大写字符
30.  [: lower:] 小写字符
31.  [: cntrl:] 控制字符
32.  [: print:] 非空字符(包括空格)
33.  [: punct:] 标点字符
34.  [: xdigit:] 十六进制数字(0-9,a-f,A-F) 


通配符:
1.  *   代表0或多个字符,*.doc
2. ?  代表任意一个字符
3. { }  匹配所有括号内包含的以逗号隔开的字符,{A,B,C}.doc 
4. [ ]  同3,[A-C].doc
5. ^和! 表示取反,[^A]或者[!A]


说明:正则表达式 主要用在对文件内容的匹配上
          通配符 主要用在文件名的匹配上

grep 全称: Global search Regular Expression and Print out the line
                     全面搜索正则表达式并打印出匹配行
         用法: grep '^[Gg]ood$' RegExp.txt 搜索Good或good的行

                     egrep 'go+d' RegExp.txt 搜索包含字母g和d,g和d中间有一个或多个o的行


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值