基本(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的行
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的行