本文主要是介绍Linux之grep正则表达式(十四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Linux之grep正则表达式
1.正则表达式限定符
基本正则表达式所定义的元字符
元字符 作用 例子 例子说明
^ 行首定位符 ^ty 匹配"t"开头,后面紧跟一个"y"的字符串
$ 行尾定位符 txt$ 匹配以"t"结尾,前面两个字符是"t""x"的字符串
. 单个字符匹配 s. 匹配"s"后面有一个字符的字符串
* 限定符 s* "*"表示匹配其前导字符若干次,包括0次。这里是匹配有若干个"s"的字符串
[] 字符集匹配 [abc] 表示匹配"a","b"或"c"的字符串
[^] 字符集不匹配 [^abc 表示不匹配"a","b","c"里的任意字符
() 子表达式 ([0-9]{2})? 匹配两个或0个数字
x{m,n} 区间表达式 a{2,3} 表示"a"重复2~3次扩展正则表达式的元字符
元字符 作用 例子 例子说明
+ 限定符,同* s+ "+"表示匹配其前导字符若干次,至少1次
? 限定符 ss? "?"表示前面的字符可以重复0或1次。这里是一个"s"后面可能再跟一个"s"2.栗子
<1>egrep和转义字符: \
egrep 相当于 grep -E# grep -E "tests|123" . -rn //相当于:# grep "tests\|123" . -rn --color
# grep "tests\|123" . -rn --color
# grep -E "v{2}" text.txt --color //在text.txt文件查找v字符出现2个的地方
# grep -E "v{3}" text.txt //匹配查找包含3个c的所有行
# grep -c "tests" text.txt //统计tests字符的次数
# grep "tests[34]" text.txt //显示输出以字符"tests"开头,第2个字符是"3"或"4"
# grep "K...D" test.txt //显示输出第一个字符是“K”,第二、三、四是任意字符,第五个字符是“D”所在
# grep "[A-Z][9]D" test.txt //显示输出第一个字符的范围是“A-D”,第二个字符是“9”,第三个字符的是“D”的所有的行
这篇关于Linux之grep正则表达式(十四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!