3)匹配郵箱位址
[root@svr5 ~]# vim mailadd.txt
bill@microsoft //無效的郵箱位址,用作測試
[root@svr5 ~]# egrep '[0-9a-za-z_.]@\
[0-9a-za-z.-](\.[0-9a-za-z-])+' mailadd.txt
4)匹配主機名
以fqdn(完整主機名)為例,描述其特點:
由 . 分隔,至少包括3組字串
每組字串不少於2個字元,可能由字母、減號、數字、下劃線組成
主機名後必須是單詞邊界,主機名前不能有@符號
編寫正規表示式參考如下:
^[^@][0-9a-za-z_-](\.[0-9a-za-z_-])\>
以前面的mailadd.txt檔案為例,過濾測試如下所示:
[root@svr5 ~]# egrep '^[^@][0-9a-za-z_-](\.[0-9a-za-z_-])\>' \
mailadd.txt
www.tarena.com.cn
mail.163.com
www.sina.com.cn
5)匹配ip位址
歸納合法ip位址的特點:
以 . 分隔,一共由四組十進位制數構成
每組數值的範圍為0-255,字元寬度為1-3位
前後必須是單詞邊界
編寫正規表示式參考如下:
<[0-9](.[0-9])>
以過濾出ifconfig命令輸出結果中包含ip位址的行為例,過濾測試如下所示:
[root@svr5 ~]# ifconfig //確認原始資訊
eth0 link encap:ethernet hwaddr 00:0c:29:82:09:e9
inet addr:192.168.4.5 bcast:192.168.4.255 mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe82:9e9/64 scope:link
up broadcast running multicast mtu:1500 metric:1
rx packets:182773 errors:0 dropped:0 overruns:0 frame:0
tx packets:104834 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:18913180 (18.0 mib) tx bytes:13855676 (13.2 mib)
lo link encap:local loopback
inet addr:127.0.0.1 mask:255.0.0.0
inet6 addr: ::1/128 scope:host
up loopback running mtu:16436 metric:1
rx packets:838 errors:0 dropped:0 overruns:0 frame:0
tx packets:838 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
rx bytes:93855 (91.6 kib) tx bytes:93855 (91.6 kib)
[root@svr5 ~]# ifconfig | egrep '\<[0-9](\.[0-9])\>'
inet addr:192.168.4.4 bcast:192.168.4.255 mask:255.255.255.0
inet addr:127.0.0.1 mask:255.0.0.0
備忘(五)正規表示式
正規表示式 regular expression 是一種功能強大的字串樣式比較技術。正規表示式最早是從unix系統被開發出來的。它是由一群特殊符號所組成的字串,表示特定的文字樣式,被用於比較某段字串或文章裡,符合正規表示式所代表的樣式文字,例如,乙個簡單的正規表示式 1 9 可以用來表示字串中1 9...
正規表示式規則(五)
1.修飾匹配次數的特殊符號 前面章節中講到的表示式,無論是只能匹配一種字元的表示式,還是可以匹配多種字元其中任意乙個的表示式,都只能匹配一次。如果使用表示式再加上修飾匹配次數的特殊符號,那麼不用重複書寫表示式就可以重複匹配。使用方法是 次數修飾 放在 被修飾的表示式 後邊。比如 bcd bcd 可以...
五 正規表示式(js)
var re new regexp 規則 可選引數 var re 規則 引數 1 普通字元匹配 如 a 匹配字元 a a,b 匹配字元 a,b 2 轉義字元匹配 d匹配乙個數字,即0 9 d匹配乙個非數字,即除了0 9 w匹配乙個單詞字元 字母 數字 下劃線 w匹配任何非單詞字元。等價於 a za ...