歡迎您光臨本站 註冊首頁

正則表達式筆記

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

正則表達在腳本編程中使用的非常多,正則表達式是一些特殊或不很特殊的字元串模式的集合.

基本元字符集及含義:

^ 只匹配行首

$ 只匹配行尾

* 一個字元後跟*,代表匹配0個或多個單字元

[] 匹配[]內的字元,可以是一個單字元,也可是字元序列,可以使用—表示字元序列內的範圍,例如:[1-5]可以代替[12345]

\ 可以屏蔽某些元字元的特殊含義,即\ 可以使有特殊含義的字元當成普通字元

. 匹配任意單字元

pattern\{n\} 匹配前面pattern出現的次數,n為次數

pattern\{n,\}m 同上,但是次數是最少為n

pattern\{n,m\} 同上,但是次數是在nm之間

注意,^$代表匹配空行

^.$代表配置只包含一個字元的行

\屏蔽特殊字元的特殊含義舉例:

假定匹配包含“.”的行,則要這樣寫:\.

假定匹配包含“^”的行,則:\^

假定匹配以*.pass結尾的文件,可以這麼寫:\*\.pass

[] 匹配[]內字元的使用舉例:

匹配任意數字,可以使用[0-9]來表示

匹配任意小寫字母,可以使用[a-z]

匹配任意字母,則使用[A-Za-z]表示

注意^的使用,當直接用在第一個括弧內表示否定或不匹配括弧里的內容

[^a-zA-Z]匹配任意非字母型字元

[^0-9]匹配任意非數字

常用正則表達舉例:

[^.*$] 匹配行中任意字元串

^......$ 匹配包含6個字元的行

[a-z][a-z]* 至少一個小寫字母

[^0-9\$] 非數字或美元符

[^0-9A-Za-z] 非數字或字母

[123] 1到3中的任意一個數

De..ce 前兩個字元是De後面跟兩個任意字元,最后為ce

\^q 以q開始的行

^.$ 只有一個字元的行

^.[0-9][0-9] 以一個.和兩個數字開頭的行

[0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\} 日期格式為dd-mm-yyyy

[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}.[0-9]\{3\} ip地址格式nnn.nnn.nnn.nnn

[^.*$] 匹配任意行

本文出自 「大漠雪狼」 博客,請務必保留此出處http://damoxuelangi.blog.51cto.com/3706076/845936


[火星人 ] 正則表達式筆記已經有231次圍觀

http://coctec.com/docs/linux/show-post-45793.html