所謂的正則表達式,就是用一類元字符(不表示本身意義,而表示統(tǒng)配或其他意義),組
合其他字符所編數(shù)出來的,能夠匹配符合條件的字符。
正則表達式有基本正則表達式和擴展正則表達式兩大類,
下面給大家介紹一下基本正則表達式和擴展正則表達式的一些常用的字符,
基本正則表達式:
^ 錨定行首的符合條件的內(nèi)容
$ 錨定行尾的符合條件的內(nèi)容
^$ 表示空白行
. 匹配任意單個字符
* 匹配進挨在其前面的字符任意次
.* 匹配任意長度的任意字符
[] 匹配指定范圍內(nèi)的任意字符
[^] 匹配指定范圍外的任意字符
\? 匹配緊挨在其前面的字0次或1次
\{m,n\} 匹配其前面的字符至少m次,至多n次
\{0,n\} 匹配其前面的字符0-n次
\{m,\} 匹配其前面的字符至少m次
\{m\} 精確匹配m次
\&; 錨定詞首
\&; 錨定詞尾
\(\) 分組
grep的常用選項
--color=auto 自動為匹配字符添加顏色
-v 反向選取,只顯示不符合模式的行
-o 只顯示被模式匹配但的字符串,而不是整個行
-i 不區(qū)分字符大小寫
-A n 顯示匹配到的行時,順便顯示其后面的n個行
-B n 顯示前面的n行
-C n 顯示后面的n行
-E 使用擴展的正則表達式 grep -E = egrep
擴展正則表達式(在這里至列出不同之處)
? 出現(xiàn)了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后面跟了任意個一數(shù)字后又跟了任意一個字母的行
grep “a[0-9][a-zA-Z]” /etc/passwd
6,匹配a后面跟了任意一個數(shù)字或字母的行
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 “\admin\&;” /etc/passwd
10,匹配自少出現(xiàn)一次ad,最多出現(xiàn)3次ad的行
grep “\(ab\)\{1,3\}” /etc/passwd
您可能感興趣的文章:- PHP函數(shù)preg_match_all正則表達式的基本使用詳細解析
- 幾個小例子教你如何實現(xiàn)正則表達式highlight高亮
- 如何實現(xiàn)正則表達式的JavaScript的代碼高亮