正则表达式
作用:用在进行搜索,过滤,筛选文本文档的工具,使用若干符号表示,需要配合某工具执行。
拓展正则在一些命令中需要搭配选项才能激活使用,如sed -r。
基本正则的一些使用案例:
- 匹配行首与行尾
grep “n$” test #搜索n字母结尾的行
grep “^bin” test #搜索bin单词开头的行
- 匹配集合中的任意单个字符
grep “[bin]” test #搜索带字母b或i或n的行
grep “[a-z]” test #搜索所有小写字母的行
~“[0-9]” test #找所有数字
~“[A-Z]” test #找所有大写字母
~“[a-Z]” test #找所有字母
~“[^a-Z]” test #找除了字母外的内容
- 匹配任意单个字符
grep roo. test #找roo后面任意1个字符的行
grep ro.. test #找ro后面任意2个字符的行
P.S.可以匹配”空格”,但无法匹配空行(连空格都没有)
- 匹配前一个字符任意次数
grep ro*t test #匹配ro*t,其中o可以出现任意次,包括0次
- 匹配字符出现次数
grep “ro\{1,2\}”t test #匹配rot,其中o出现1-2次
grep “ro\{3,4\}”t test #o出现3-4次
grep “ro\{1\}” t test #o出现1次
grep “ro\{1,\}”t test #o出现1次以上
拓展正则:
关于拓展正则,要注意一些命令在使用的时候需要加上激活选项或是使用其他可以支持的拓展命令。如grep -E 或 egrep。
- 设定单词边界
grep "/broot/b" #精确匹配root,不会匹配到root1、aroot、aroot1等
其他与基本正则使用类似,参考表格与基本正则使用即可。