正規表示式的基本語法和規則
1.備選字符集:規定某一位字元可用的備選字元的集合
語法:[可選字元列表]
強調:無論備選字符集包含多少字元,只能選1個,且必須選1個
例如:6位數字的密碼
[0123456789][0123456789][0123456789][0123456789][0123456789][0123456789]
所以我們的輸入的字元必須是6位的,少一位多一位都不行,且這六個字元必須是數字
簡化:當備選字元連續時,可用-表示範圍區間
例如:[0123456789]–>[0-9]
[a-z]–>1位小寫字母
[a-z]–>1位大寫字母
[a-za-z]–>1位字母,大小寫都行
[0-9a-za-z]–>1位字母或數字都行
反選:[^不能選的字元列表]
比如:[^47] 強調:^作「除了」使用時,只能放在開頭
2.預定義字符集:為常用的字符集專門提供的簡化寫法!
(1)"\d"表示[0-9]–>1位數字
(2)"\w"–>[0-9a-za-z_]–>1位字母,數字或_
(3)"\s"–>1位空字元:匹配任何空白字元,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]。
(4)" . ": 除換行回車外的任何乙個字元,如:
「a.[0-9]」:表示乙個字串有乙個"a"後面跟著乙個任意字元和乙個數字;
「^.$」:表示有任意三個字元的字串(長度為3個字元)
(5) 「\t」–>匹配乙個製表符
(6) 「\d」–>1位非數字字元
(7) 「\s」–>匹配任何非空白字元
(8) 「\n」–>匹配乙個換行符
(9) 「\r」–>匹配乙個回車符
3. 數量詞:規定相鄰的字符集可出現的次數
確定數量:3種:
列子:(1)6位數字
/^\d$/
不確定數量:3種:
():分組
分組一般和數量詞一起用,表示這個組合的出現次數
例如(abc)*,那麼只能是abcabcabc,不能是abca這樣情況
|: 左右兩正規表示式選其一
4. 指定匹配位置:
^表示式: 必須以表示式的規則為開頭
表示式$: 必須以表示式的規則為結尾
比如:選擇字串開頭的空格?^\s*
選擇結尾空格?\s*$
選擇開頭或結尾的空格?^\s*|\s*$
今後只要在程式中執行驗證:
都要前加^後加$*,表示從頭到尾完整匹配。
5. 預判:
在正式匹配正規表示式之前,先預讀整個字串,進行初步匹配,如果預判都未通過,則不再驗證!
(1)(?=表示式): 先瀏覽字串是否滿足表示式的要求
何時使用:只要正則**現類似"而且"
比如:4位數字,但不能包含4和7
(?=[^47]$) 是否由除了4,7之外的字元組成
(2)(?!表示式):先檢查字串是否不滿足表示式要求
比如:6位以上密碼。
字母,數字組成
首字母不能是數字: [a-za-z][a-za-z0-9]
必須至少包含1個大寫字母
不能都由小寫字母和數字組成: (?![a-z0-9]+$)
必須至少包含1個數字
不能都由小寫字母和大寫字母組成:
(?![a-za-z]+$)
6.特殊字元
「$」------匹配輸入字串的結尾位置。如果設定了 regexp 物件的 multiline 屬性,則 $ 也匹配 『\n』 或 『\r』。要匹配 $ 字元本身,請使用 $。
「()」----標記乙個子表示式的開始和結束位置。子表示式可以獲取供以後使用。要匹配這些字元,請使用 ( 和 )。
「*」----匹配前面的子表示式零次或多次。要匹配 * 字元,請使用 *。
「+」-----匹配前面的子表示式一次或多次。要匹配 + 字元,請使用 +。
「.」----匹配除換行符 \n之外的任何單字元。要匹配 .,請使用 .。
「[」------標記乙個中括號表示式的開始。要匹配 [,請使用 [。
「?」----匹配前面的子表示式零次或一次,或指明乙個非貪婪限定符。要匹配 ? 字元,請使用 ?。
「\」----將下乙個字元標記為或特殊字元、或原義字元、或向後引用、或八進位制轉義符。例如, 『n』 匹配字元 『n』。』\n』 匹配換行符。序列 『\』 匹配 「」,而 『(』 則匹配 「(」.
「^」-----匹配輸入字串的開始位置,除非在方括號表示式中使用,此時它表示不接受該字元集合。要匹配 ^ 字元本身,請使用 ^。
「{」----標記限定符表示式的開始。要匹配 {,請使用 {。
「|」----指明兩項之間的乙個選擇。要匹配 |,請使用 |。
正規表示式 1 正規表示式基礎
1.正規表示式基礎 正規表示式描述了一種字串匹配的模式,即可以使使用者通過一系列普通字元或特殊字元構建能夠明確描述文字字串的匹配模式,可以用來檢查某個字串是否含有某種子字串,將匹配的子字串做替換或者從某個字串中取出符合某個條件的子字串等。1.1 正規表示式的基本結構 乙個正規表示式就是由普通字元 如...
正規表示式基礎
限定符 d 匹配非負整數 正整數 0 0 9 1 9 0 9 匹配正整數 d 0 匹配非正整數 負整數 0 0 9 1 9 0 9 匹配負整數 d 匹配整數 d d 匹配非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 匹配正浮點數 d...
正規表示式基礎
元字元 描述 匹配任何單個字元。例如正規表示式r.t匹配這些字串 rat rut r t,但是不匹配root。匹配行結束符。例如正規表示式weasel 能夠匹配字串 he s a weasel 的末尾,但是不能匹配字串 they are a bunch of weasels.匹配一行的開始。例如正規...