在我們寫頁面時,往往需要對表單的數(shù)據(jù)比如賬號,、身份證號等進行驗證,,而最有效的、用的最多的便是使用正則表達式來驗證,。那什么是正則表達式呢,? 正則表達式(Regular Expression)是用于描述一組字符串特征的模式,用來匹配特定的字符串,。它的應用非常廣泛,,特別是在字符串處理方面。其常見的應用如下:
第一部分:正則表達式之工具 正所謂工欲善其事必先利其器! 所以我們需要知道下面幾個主要的工具:
第二部分:正則表達式之元字符 正則表達式中元字符恐怕是我們聽得最多的了,。元字符(Metacharacter)是一類非常特殊的字符,,它能夠匹配一個位置或者字符集合中的一個字符。如.,、\w等都是元字符,。 剛剛說到,元字符既可以匹配位置,,也可以匹配字符,,那么我們就可以通過此來將元字符分為匹配位置的元字符和匹配字符的元字符。 A 匹配位置的元字符---^,、$,、\b 即匹配位置的元字符只有^(脫字符號)、$(美元符號)和\b這三個字符,。分別匹配行的開始,、行的結(jié)尾以及單詞的開始或結(jié)尾。它們匹配的都只是位置,。 1.^匹配行的開始位置 如^zzw匹配的是以'zzw'為行開頭的'zzw'(注意:我這里想要表達的是:盡管加了一個^,,它匹配的仍是字符串,而不是一整行,!) ,如果zzw不是作為行開頭的字符串,,則它不會被匹配。 2.$匹配行的結(jié)尾位置 如zzw$匹配的是以'zzw'為行結(jié)尾的'zzw'(同樣,,這里$只是匹配的一個位置,,那個位置是零寬度,而不是一整行),,如果zzw不是作為行的結(jié)尾,,那么它不會被匹配。 于是結(jié)合^和$我們就不難猜測^zzw$匹配的是某行中只有zzw這個字符串了,。 而^$匹配的則是一個空行,,這個空行中不包含任何字符串。 3. \b匹配單詞的開始或結(jié)束 如 \bzzw匹配的是zzw之前是空格符號,、標點符號或換行符號的zzw(注意:但\b匹配的僅是一個零寬度的位置,,而不會匹配空格、標點符號或換行符號),。 而zzw\b匹配的是zzw之后是空格符號,、標點符號或換行符號的zzw(同樣,\b匹配的是一個零寬度的位置),。 顯然 \bzzw\b匹配的就是zzw的前后必須是空格符號,、標點符號或換行符號的zzw。 B 匹配字符的元字符---. ,、\w,、\W,、\s、\S,、\d,、\D 即匹配字符的元字符共有七個。 其中.(點號)表示匹配除換行符之外的任意字符,; \w 匹配單詞字符(不僅僅是字母,還有下劃線,、數(shù)字和漢字),;\W匹配任意的非單詞字符(注意,與\w剛好相反),; \s匹配的是任意的空白字符(如空格,、制表符、換行符,、中文全角空格等),; \S匹配的是任意的非空白字符(注意:剛好和\s相反); \d匹配任意的數(shù)字,; \D匹配任意的非數(shù)字字符(注意:剛好和\d相反),。 例子如下所示: 上面的四個例子從左到右依次表示:
第三部分:正則表達式之文字匹配 這一部分我們將通過字符類,、字符轉(zhuǎn)義、反義這幾個部分來學習,。 A,、字符類 字符類是正則表達式中的“迷你”語言,可以在中定義,。 最簡單的字符類可以由和幾個簡單的字母組成,。比如[aeiou]可以匹配aeiou五個字母中的任意一個。[0123456]可以匹配0123456這七個數(shù)字中的任意一個,。而 |
|
來自: 遙望山川溪流 > 《網(wǎng)站資源》