正規表示式幫助

2021-04-12 21:58:56 字數 2523 閱讀 2908

正是由於「正規表示式」的強大功能,才使得微軟慢慢將正規表示式物件移植到了視窗系統上面。在書寫正規表示式的模式時使用了特殊的字元和序列。下表描述了可以使用的字元和序列,並給出了例項。

字元描述: /:將下乙個字元標記為特殊字元或字面值。例如"n"與字元"n"匹配。"/n"與換行符匹配。序列"//"與"/"匹配,"/("與"("匹配。

^ :匹配輸入的開始位置。

$ :匹配輸入的結尾。

* :匹配前乙個字元零次或幾次。例如,"zo*"可以匹配"z"、"zoo"。

+ :匹配前乙個字元一次或多次。例如,"zo+"可以匹配"zoo",但不匹配"z"。

? :匹配前乙個字元零次或一次。例如,"a?ve?"可以匹配"never"中的"ve"。

.:匹配換行符以外的任何字元。

(pattern) 與模式匹配並記住匹配。匹配的子字串可以從作為結果的 matches 集合中使用 item [0]...[n]取得。如果要匹配括號字元(和 ),可使用"/(" 或 "/)"。

x|y:匹配 x 或 y。例如 "z|food" 可匹配 "z" 或 "food"。"(z|f)ood" 匹配 "zoo" 或 "food"。

:n 為非負的整數。匹配恰好n次。例如,"o" 不能與 "bob 中的 "o" 匹配,但是可以與"foooood"中的前兩個o匹配。

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

:m 和 n 為非負的整數。匹配至少 n 次,至多 m 次。例如,"o" 匹配 "fooooood"中前三個o。"o"等價於"o?"。

[xyz] :乙個字符集。與括號中字元的其中之一匹配。例如,"[abc]" 匹配"plain"中的"a"。

[^xyz] :乙個否定的字符集。匹配不在此括號中的任何字元。例如,"[^abc]" 可以匹配"plain"中的"p".

[a-z] :表示某個範圍內的字元。與指定區間內的任何字元匹配。例如,"[a-z]"匹配"a"與"z"之間的任何乙個小寫字母字元。

[^m-z] :否定的字元區間。與不在指定區間內的字元匹配。例如,"[m-z]"與不在"m"到"z"之間的任何字元匹配。

/b :與單詞的邊界匹配,即單詞與空格之間的位置。例如,"er/b" 與"never"中的"er"匹配,但是不匹配"verb"中的"er"。

/b :與非單詞邊界匹配。"ea*r/b"與"never early"中的"ear"匹配。

/d :與乙個數字字元匹配。等價於[0-9]。

/d :與非數字的字元匹配。等價於[^0-9]。

/f :與分頁符匹配。

/n :與換行符字元匹配。

/r :與回車字元匹配。

/s :與任何白字元匹配,包括空格、製表符、分頁符等。等價於"[ /f/n/r/t/v]"。

/s :與任何非空白的字元匹配。等價於"[^ /f/n/r/t/v]"。

/t :與製表符匹配。

/v :與垂直製表符匹配。

/w :與任何單詞字元匹配,包括下劃線。等價於"[a-za-z0-9_]"。

/w :與任何非單詞字元匹配。等價於"[^a-za-z0-9_]"。

/num :匹配 num個,其中 num 為乙個正整數。引用回到記住的匹配。例如,"(.)/1"匹配兩個連續的相同的字元。

/n:匹配 n,其中n 是乙個八進位製換碼值。八進位製換碼值必須是 1, 2 或 3 個數字長。

例如,"/11" 和 "/011" 都與乙個製表符匹配。"/0011"等價於"/001" 與 "1"。八進位製換碼值不得超過 256。否則,只有前兩個字元被視為表示式的一部分。允許在正規表示式中使用ascii碼。

/xn:匹配n,其中n是乙個十六進製制的換碼值。十六進製製換碼值必須恰好為兩個數字長。例如,"/x41"匹配"a"。"/x041"等價於"/x04" 和 "1"。允許在正規表示式中使用 ascii 碼。

regularexpressionvalidator有兩種主要的屬性來進行有效性驗證。controltovalidate 包含了乙個值進行驗證。如取出文字框中的值。如controltovalidate="textbox1" validationexpression 包含了乙個正規表示式進行驗證。

好了,有了上面的敘述,我們就舉個例子來說明正規表示式。比如,我們想要對使用者輸入的電子郵件進行校驗,那麼,什麼樣的資料才算是乙個合法的電子郵件呢?我可以這樣輸入:[email protected],當然我也會這樣輸入:***@yyy.com.cn,但是這樣的輸入就是非法的:***@@com.cn或者@***.com.cn,等等,所以我們得出乙個合法的電子郵件位址至少應當滿足以下幾個條件:

1. 必須包含乙個並且只有乙個符號「@」

2. 第乙個字元不得是「@」或者「.」

3. 不允許出現「@.」或者.@

4. 結尾不得是字元「@」或者「.」

所以根據以上的原則和上面表中的語法,我們很容易的就可以得到需要的模板如下:"= "^/w+((-/w+)|(/./w+))*/@[a-za-z0-9]+((/.|-)[a-za-z0-9]+)*/.[a-za-z0-9]+$"

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...