正規表示式語法解析 轉

2021-06-15 21:17:00 字數 2480 閱讀 3733

-、"^"頭匹配

^front表示以"front"開頭的字串。

二、"$"尾匹配

tail$表示以"tail"結尾的字串。

三、轉義序列

所有轉義序列都用"/"打頭。如"^"、"$"、"+"、"("、")"在表示式中都有特殊意義,所以在正規表示式中也用"/^"、"/$"、"/+"、"/("、"/)"來表示。

四、字元簇

[a-z]匹配小寫字元;[a-z]匹配寫字元;[a-za-z]匹配所有字元;[0-9]匹配所有數字;[/./-/+]匹配所有句號,減號和加號; [^a-z]除了小寫字母以外的成有字元;^[^a-z]第乙個字元不能是小寫字母;[^0-9]除了數字以外的所有字元;

五、重複

^a$表示aaaa;^a表示aa,aaa或aaaa;^a表示多於兩個a的字串;.表示所有的兩個字元;

下面舉兩個常用例子說明:

1、email的驗證

要求:(1)必須包含乙個"@"

(2)在"@"後面的字串至少包含乙個"."號

(3)"@"前面和後面的字串由乙個或乙個以上字母、數字、下劃線或減號構成

根據這幾條規則,可以與出以下正規表示式:

^[a-za-z0-9_/-]@[a-za-z0-9_/-]/.[a-za-z0-9_/-.]$

或者:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*

2、**號碼的驗證

要求:(1)**號碼由數字、"("、")"和"-"構成

(2)**號碼為3到8位

(3)如果**號碼中包含有區號,那麼區號為三位或四位

(4)區號用"("、")"或"-"和其他部分隔開

(5)移動**號碼為11或12位,如果為12位,那麼第一位為0

(6)11位移動**號碼的第一位和第二位為"13"

(7)12位移動**號碼的第二位和第三位為"13"

根據這幾條規則,可以與出以下正規表示式:

(^[0-9]/-[0-9]$)|(^[0-9]$)|(^/([0-9]/)[0-9]$)|(^013[0-9]$)

------------------------------------

日期20/d(-)((0[1-9])|(1[0-2]))(-)((0[1-9])|([1-2][0-9])|(3[0-1]))(t|/s)(([0-1][0-9])|(2[0-3])):([0-5][0-9]):([0-5][0-9])

格式2004-05-06 14:00:00

([0-9])-([0-9])-([0-9])

--------------------------

數字,字母,下劃線

^[0-9a-za-z_]*$

^[a-za-z0-9]*$

---------------------

只能輸入2~10個漢字

^[/u4e00-/u9fa5]$

————————————————————————

乙個正規表示式就是由普通字元(例如字元 a 到 z)以及特殊字元(稱為元字元)組成的文字模式。該模式描述在查詢文字主體時待匹配的乙個或多個字串。正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。

這裡有一些可能會遇到的正規表示式示例:

jscript vbscript 匹配

/^/[ /t]*$/ "^/[ /t]*$" 匹配乙個空白行。

//d-/d/ "/d-/d" 驗證乙個id 號碼是否由乙個2位數字,乙個連字元以及乙個5位數字組成。

/.*/ ".*" 匹配乙個 html 標記。

下表是元字元及其在正規表示式上下文中的行為的乙個完整列表:

字元 描述

/ 將下乙個字元標記為乙個特殊字元、或乙個原義字元、或乙個 後向引用、或乙個八進位制轉義符。例如,'n' 匹配字元 "n"。'/n' 匹配乙個換行符。序列 '//' 匹配 "/" 而 "/(" 則匹配 "("。

^ 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,^ 也匹配 '/n' 或 '/r' 之後的位置。

$ 匹配輸入字串的結束位置。如果設定了regexp 物件的 multiline 屬性,$ 也匹配 '/n' 或 '/r' 之前的位置。

* 匹配前面的子表示式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。 * 等價於。

+ 匹配前面的子表示式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等價於 。

? 匹配前面的子表示式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等價於 。

n 是乙個非負整數。匹配確定的 n 次。例如,'o' 不能匹配 "bob" 中的 'o',但是能匹配 "food" 中的兩個 o。

n 是乙個非負整數。至少匹配n 次。例如,'o' 不能匹配 "bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o' 等價於 'o+'。'o' 則等價於 'o*'。

trackback:

正規表示式語法解析

正規表示式語法解析 頭匹配 front表示以 front 開頭的字串。二 尾匹配 tail 表示以 tail 結尾的字串。三 轉義序列 所有轉義序列都用 打頭。如 在表示式中都有特殊意義,所以在正規表示式中也用 來表示。四 字元簇 a z 匹配小寫字元 a z 匹配寫字元 a za z 匹配所有字元...

正規表示式 轉

字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了regexp物件的multiline屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置。如...

正規表示式語法

jscript 8.0 正規表示式語法 正規表示式是一種文字模式,包括普通字元 例如,a 到 z 之間的字母 和特殊字元 稱為 元字元 模式描述在搜尋文字時要匹配的乙個或多個字串。表示式 匹配 s 匹配空行。d d 驗證由兩位數字 乙個連字元再加 5 位數字組成的 id 號。s s 匹配 html ...