linux正则表达式


基础正则表达式

^word 待查找的字符串以word为行首

grep -n "^a" regex.txt 查找首字符为a的行,并输出行号

word$ 待查找的字符串以word为结尾

grep -n "a$" regex.txt 查找以a为结尾的字符的行,并输出行号

grep -n "^$" regex.txt 查找空行,并输出行号

. 代表任意单个字符,包含空格

\ 转义字符
* 重复零到无穷个前一个字符
[list] 例如:p[abc]d 则匹配的包括:pad、pbd、pcd

[^list] 与[list]相反,不包括里面的任意一个

[n1-n2] 例如:[0-9] 或者[a-z]或者 [A-Z] 代表范围中的任意一个

grep -n "9[0-9]" regex.txt 匹配的数字为90、91……99

\{n,m\} 前一个字符的n次到m次 例如:a\{3,5\} 匹配包括:aaa 或者aaaa或者aaaaa

grep -n "go\{1,2\}d" regex.txt 匹配的字符串为good god

\{n,\} 前一个字符的至少n次

grep -n "go\{2,\}d" regex.txt 匹配的字符串为good goood gooood...

扩展正则表达式

+ 重复前一个RE字符至少一次

? 0或1次前一个RE字符

| 或者

() 括号内作为一个组

()+ 重复组的

\< \<abc 以abc开头的行

\> abc\> 以abc结尾的行

相关内容