【RHCA+】基本正则表达式

发布时间:2026/7/6 15:09:59
【RHCA+】基本正则表达式 “ 目录RHCA - 4 正则表达式 - 52 基本正则表达式 ”POSIX基本正则表达式BREBasic REGEXP引擎语法特点在BRE中元字符如*、?、、|、()等在默认情况下不具有特殊含义而是被当作普通字符处理。要使这些字符具有特殊含义通常需要在它们前面加上反斜杠\进行转义。用途尽管功能相对有限但BRE是许多早期Unix工具如grep的默认模式的基础。字符作用a精准匹配字母a其他字母同例.任意单个字符且只能是一个字符不匹配空行*匹配前一个字符零次或多次默认贪婪模式尽可能长地匹配.*匹配任意字符出现任意次数\?匹配前面的字符0或1次\匹配前面的字符至少1次[]匹配集合内单个字符中括号内为集合[a-z]匹配连续的字符串范围[^]否对中括号内的集合取反^匹配字符串的开头$匹配字符串的结尾^$空行^[[:space:]].*$空白行^PATTERN$匹配整行\ 或 \b词首锚定\b放单词模式的左侧\ 或 \b词尾锚定\b放单词模式的右侧例\\匹配转义后的字符\{n\}匹配前一个字符重复n次\{n,\}匹配前一个字符至少重复n次\{,n\}匹配前面的字符至多n次\{n,m\}匹配前一个字符重复n到m次\(\)将 \( 和 \) 之间的内容为一个分组存储到保留空间最多存储9个\n通过 \1 到 \9 调用保留空间中存储的内容反向引用\1表示从左侧起第1个左括号以及与之匹配右括号之间的模式所匹配到的字符\2表示从左侧起第2个左括号以及与之匹配右括号之间的模式所匹配到的字符以此类推\表示前面的分组中所有字符[rootwuzuniao ~]# cat -n a.txt #创建文件1 a2 b3 c4 15 26 37 118 229 3310 1a11 2b12 3c13 dddd[rootwuzuniao ~]# grep b a.txt #过滤包含字母b的行b2b[rootwuzuniao ~]# grep d..d a.txt #过滤有四个字符的字符串其中开头和结尾必须是字母d中间两位任意字符dddd[rootwuzuniao ~]# grep --color 11* a.txt #过滤出至少包含一个1的行第二个1可出现零次或多次1111a[rootwuzuniao ~]# grep --color [3-5] a.txt #匹配包含数字3-5这个范围内的行3333c[rootwuzuniao ~]# grep --color [c-d] a.txt #匹配包含字母c-d这个范围的行c3cdddd[rootwuzuniao ~]# grep --color ^b a.txt #匹配以b字母开头的行b[rootwuzuniao ~]# grep --color c$ a.txt #匹配以c字母结尾的行c3c[rootwuzuniao ~]# grep --color 1[^$] a.txt #匹配以1开头后续跟了其他字符的行也就是这里把结束符排除掉了111a[rootwuzuniao ~]# grep --color 1[^1$] a.txt #匹配以1开头后面不跟1和结束符的行1a[rootwuzuniao ~]# grep --color 3\{1,2\} a.txt #匹配数字3出现过1次到2次的行3333c[rootwuzuniao ~]# grep --color \(2\).*\1 a.txt #匹配2出现2次的行中间匹配任意字符前后各匹配一次222[rootwuzuniao ~]# grep --color \(d\)\(d\).*\2\1 a.txt #匹配包含两个dd的行dddd[rootwuzuniao ~]# grep --color ^$ a.txt #匹配空白行[rootwuzuniao ~]# grep -v --color ^$ a.txt #匹配非空白行这里的--color参数也会取反不显示颜色abc1231122331a2b3cdddd[rootwuzuniao ~]#