正則表達式,又稱正規表示法、常規表示法,計算機科學的一個概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規則的字符串。在不少文本編輯器裏,正則表達式一般被用來檢索、替換那些符合某個模式的文本。許多程序設計語言都支持利用正則表達式進行字符串操做。例如,在Perl中就內建了一個功能強大的正則表達式引擎。正則表達式這個概念最初是由Unix中的工具軟件(例如sed和grep)普及開的。正則表達式一般縮寫成「regex」,單數有regexp、regex,複數有regexps、regexes、regexen。正則表達式
注意:grep查找的時候,只要部分匹配就會顯示出來,而不是所有匹配纔會顯示出來,各位看我博客的朋友們,切記切記!O(∩_∩)O 不吝賜教! bash
元字符:編輯器
.:匹配任意單個字符。
ide
例子:# grep 'r..t' /etc/passwd工具
root:x:0:0:root:/root:/bin/bashspa
operator:x:11:0:operator:/root:/sbin/nologin設計
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologinregexp
匹配次數(默認是貪婪模式,即儘量的匹配某種模式)htm
*:匹配其前面的字符任意次。
字符串
例子:給定一組:a,b,ab,aab,acb,adb,amnb
匹配模式:a*b(即a出現任意次後面跟個b)
則能夠匹配到的是:a,b,ab,aab
匹配模式:a.*b
則能夠匹配到的是:ab,aab,acb,adb,amnb
.*:任意長度的任意字符
例子:給定一組:a,b,ab,aab,acb,adb,amnb
匹配模式:a.*b
則能夠匹配到的是:ab,aab,acb,adb,amnb
?(查找的時候要注意使用轉義即:\?):匹配其前面的字符1次或0次。
例子:給定一組:a,b,ab,aab,acb,adb,amnb
匹配模式:a?b
則能夠匹配到的是:b,ab,aab,acb,adb,amnb