1. 程式人生 > >linux正則表達式

linux正則表達式

http 支持 .com 身份證號 一個 wid 例子 則表達式 技術分享

字符

範圍內字符單個字符: [ ] [a-z]

反向字符^: [^ 0-9]不是數字

任意字符:‘ . ‘

頭尾字符: ^ $, ^root //註意與[^]區別,空行表示^$

元字符和重復設定:

技術分享

技術分享

技術分享

字符組合

任意字符串的表示: . *

.代表任意一個字符,*代表多個字符,正則表達式就是最大的範圍,這需要按照自己的想要的結果去加條件變小範圍。

技術分享

邏輯表示

| 邏輯或

grep ‘bin/\(false\|true\)‘ passwd

例子:

在passwd文件中匹配2-3位數字

這裏面含有數字[0-9],重復{,},分隔符/b /b

技術分享

案例2:

匹配15位或18位身份證號(支持帶X的)

因為身份證號首位不能為0,最後一位可以帶有X的,中間就有13-16位重復,^$代表首和尾

grep ‘^[1-9]\([0-9]\{13\}|[0-9]\{16\}\)[0-9xX]$‘ 文件

案例3:

匹配密碼(由字母,數字,下劃線組成)

grep ‘ ^\w\+$‘ 文件

總結圖:

技術分享

linux正則表達式