這篇文章將為大家詳細(xì)講解有關(guān)基本正則表達(dá)式和擴(kuò)展正則表達(dá)式常用的字符有哪些,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)濰城免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。所謂的正則表達(dá)式,就是用一類元字符(不表示本身意義,而表示統(tǒng)配或其他意義),組
合其他字符所編數(shù)出來(lái)的,能夠匹配符合條件的字符。
正則表達(dá)式有基本正則表達(dá)式和擴(kuò)展正則表達(dá)式兩大類,
基本正則表達(dá)式:
^ 錨定行首的符合條件的內(nèi)容
$ 錨定行尾的符合條件的內(nèi)容
^$ 表示空白行
. 匹配任意單個(gè)字符
* 匹配進(jìn)挨在其前面的字符任意次
.* 匹配任意長(zhǎng)度的任意字符
[] 匹配指定范圍內(nèi)的任意字符
[^] 匹配指定范圍外的任意字符
\? 匹配緊挨在其前面的字0次或1次
\{m,n\} 匹配其前面的字符至少m次,至多n次
\{0,n\} 匹配其前面的字符0-n次
\{m,\} 匹配其前面的字符至少m次
\{m\} 精確匹配m次
\< 錨定詞首
\> 錨定詞尾
\(\) 分組
grep的常用選項(xiàng)
--color=auto 自動(dòng)為匹配字符添加顏色
-v 反向選取,只顯示不符合模式的行
-o 只顯示被模式匹配但的字符串,而不是整個(gè)行
-i 不區(qū)分字符大小寫
-A n 顯示匹配到的行時(shí),順便顯示其后面的n個(gè)行
-B n 顯示前面的n行
-C n 顯示后面的n行
-E 使用擴(kuò)展的正則表達(dá)式 grep -E = egrep
擴(kuò)展正則表達(dá)式(在這里至列出不同之處)
? 出現(xiàn)了0次或1次 正則表達(dá)式為\?
{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后面跟了任意單個(gè)字符的行
grep “a.” /etc/passwd
5,匹配a后面跟了任意長(zhǎng)度字符的行
grep “a*” /etc/passwd
4,匹配a后面跟了任意長(zhǎng)度的任意字符,再跟上b的行
grep “a.*b” /etc/passwd
5,匹配a后面跟了任意個(gè)一數(shù)字后又跟了任意一個(gè)字母的行
grep “a[0-9][a-zA-Z]” /etc/passwd
6,匹配a后面跟了任意一個(gè)數(shù)字或字母的行
grep “a[0-9a-zA-Z]” /etc/passwd
7,匹配0或1個(gè)a后面跟了個(gè)b的行
grep “a\?b” /etc/passwd
8,匹配最少一個(gè)a,最多3個(gè)a后面跟了一個(gè)b的行
grep “a\{1,3\}b” /etc/passwd
9,錨定單詞admin的行
grep “\
10,匹配自少出現(xiàn)一次ad,最多出現(xiàn)3次ad的行
grep “\(ab\)\{1,3\}” /etc/passwd
關(guān)于“基本正則表達(dá)式和擴(kuò)展正則表達(dá)式常用的字符有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。