基本正则表达式和扩展正则表达式常用的字符有哪些
这篇文章将为大家详细讲解有关基本正则表达式和扩展正则表达式常用的字符有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
所谓的正则表达式,就是用一类元字符(不表示本身意义,而表示统配或其他意义),组
合其他字符所编数出来的,能够匹配符合条件的字符。
正则表达式有基本正则表达式和扩展正则表达式两大类,
基本正则表达式:
^ 锚定行首的符合条件的内容
$ 锚定行尾的符合条件的内容
^$ 表示空白行
. 匹配任意单个字符
* 匹配进挨在其前面的字符任意次
.* 匹配任意长度的任意字符
[] 匹配指定范围内的任意字符
[^] 匹配指定范围外的任意字符
\? 匹配紧挨在其前面的字0次或1次
\{m,n\} 匹配其前面的字符至少m次,至多n次
\{0,n\} 匹配其前面的字符0-n次
\{m,\} 匹配其前面的字符至少m次
\{m\} 精确匹配m次
\< 锚定词首
\> 锚定词尾
\(\) 分组
grep的常用选项
--color=auto 自动为匹配字符添加颜色
-v 反向选取,只显示不符合模式的行
-o 只显示被模式匹配但的字符串,而不是整个行
-i 不区分字符大小写
-A n 显示匹配到的行时,顺便显示其后面的n个行
-B n 显示前面的n行
-C n 显示后面的n行
-E 使用扩展的正则表达式 grep -E = egrep
扩展正则表达式(在这里至列出不同之处)
? 出现了0次或1次 正则表达式为\?
{m,n} 匹配前边字符最少m次,最多n次
() 分组,用法与grep类似
a|b 二选一
1,锚定/etc/passwd文件中行首为root的行
grep "^root" /etc/passwd
2,锚定/etc/passwd文件行尾为sh的行
grep "sh$" /etc/passwd
3,查找空白行
grep "^$" /etc/passwd
4,匹配a后面跟了任意单个字符的行
grep "a." /etc/passwd
5,匹配a后面跟了任意长度字符的行
grep "a*" /etc/passwd
4,匹配a后面跟了任意长度的任意字符,再跟上b的行
grep "a.*b" /etc/passwd
5,匹配a后面跟了任意个一数字后又跟了任意一个字母的行
grep "a[0-9][a-zA-Z]" /etc/passwd
6,匹配a后面跟了任意一个数字或字母的行
grep "a[0-9a-zA-Z]" /etc/passwd
7,匹配0或1个a后面跟了个b的行
grep "a\?b" /etc/passwd
8,匹配最少一个a,最多3个a后面跟了一个b的行
grep "a\{1,3\}b" /etc/passwd
9,锚定单词admin的行
grep "\
10,匹配自少出现一次ad,最多出现3次ad的行
grep "\(ab\)\{1,3\}" /etc/passwd
关于"基本正则表达式和扩展正则表达式常用的字符有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。