正則表達式相關學習

^符號匹配字符串的開頭。例如:
    ^abc 與“abc xyz”匹配,而不與“xyz abc”匹配

  $符號匹配字符串的結尾。例如:
    abc$ 與“xyz abc”匹配,而不與“abc xyz”匹配。
    注意:如果同時使用^符號和$符號,將進行精確匹配。例如:
       ^abc$ 只與“abc”匹配   

  *符號匹配0個或多個前面的字符。例如:
    ab* 可以匹配“ab”、“abb”、“abbb”等

  +符號匹配至少一個前面的字符。例如:
    ab+ 可以匹配“abb”、“abbb”等,但不匹配“ab”。

  ?符號匹配0個或1個前面的字符。例如:
    ab?c? 可以且只能匹配“abc”、“abbc”、“abcc”和“abbcc

  .符號匹配除換行符以外的任何字符。例如:
    (.)+ 匹配除換行符以外的所有字符串

  x|y匹配“x”或“y”。例如:
    abc|xyz 可匹配 abc”或 xyz”,而“ab(c|x)yz”匹配 abcyz”和“abxyz

  {n}匹配恰好n次(n爲非負整數)前面的字符。例如:
    a{2} 可以匹配“aa“,但不匹配“a

  {n,}匹配至少n次(n爲非負整數)前面的字符。例如:
    a{3,} 匹配“aaa”、“aaaa”等,但不匹配“a”和“aa”。
    注意:a{1,}等價於a+
       a{0,}等價於a*

  {m,n}匹配至少m個,至多n個前面的字符。例如:
    a{1,3} 只匹配“a”、“aa”和“aaa”。
    注意:a{0,1}等價於a?

  [xyz]表示一個字符集,匹配括號中字符的其中之一。例如:
    [abc] 匹配“a”、“b”和“c

  [^xyz]表示一個否定的字符集。匹配不在此括號中的任何字符。例如:
    [^abc] 可以匹配除“a”、“b”和“c”之外的任何字符

  [a-z]表示某個範圍內的字符,匹配指定區間內的任何字符。例如:
    [a-z] 匹配從“a”到“z”之間的任何一個小寫字母字符

  [^m-n]表示某個範圍之外的字符,匹配不在指定範圍內的字符。例如:
    [m-n] 匹配除從“m”到“n”之間的任何字符

  /符號是轉義操作符。例如:
    /n 換行符
    /f 分頁符
    /r 回車
    /t 製表符
    /v 垂直製表符

    // 匹配“/
    // 匹配“/

    /s 任何白字符,包括空格、製表符、分頁符等。等價於“[ /f/n/r/t/v]”
    /S 任何非空白的字符。等價於“^/f/n/r/t/v]
    /w 任何單詞字符,包括字母和下劃線。等價於“[A-Za-z0-9_]
    /W 任何非單詞字符。等價於“[^A-Za-z0-9_]

    /b匹配單詞的結尾。例如:
      ve/b 匹配單詞“love”等,但不匹配“very”、“even”等

    /B匹配單詞的開頭。例如:
      ve/B 匹配單詞“very”等,但不匹配“love”等

    /d匹配一個數字字符,等價於[0-9]。例如:
      abc/dxyz 匹配“abc2xyz”、“abc4xyz”等,但不匹配“abcaxyz”、“abc-xyz”等

    /D匹配一個非數字字符,等價於[^0-9]。例如:
      abc/Dxyz 匹配“abcaxyz”、“abc-xyz”等,但不匹配“abc2xyz”、“abc4xyz”等

    /NUM匹配NUM個(其中NUM爲一個正整數),引用回到記住的匹配。例如:
      (.)/1 匹配兩個連續相同的字符。

    /oNUM匹配n(其中n爲一個小於256的八進制換碼值)。例如:
      /o011 匹配製表符

    /xNUM匹配NUM(其中NUM爲一個小於256的十六進制換碼值)。例如:
      /x41 匹配字符“A
匹配中文字符的正則表達式: [/u4e00-/u9fa5]

匹配雙字節字符(包括漢字在內):[^/x00-/xff]

應用:計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1)

String.prototype.len=function(){return this.replace([^/x00-/xff]/g,"aa").length;}

匹配空行的正則表達式:/n[/s| ]*/r

匹配HTML標記的正則表達式:/<(.*)>.*<///1>|<(.*) //>/

匹配首尾空格的正則表達式:(^/s*)|(/s*$)

^/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+(/./d+)?)|(0+(/.0+)?))$  //匹配非正浮點數(負浮點數 + 0)
^(-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //匹配負浮點數
^(-?/d+)(/./d+)?$  //匹配浮點數
^[A-Za-z]+$  //匹配由26個英文字母組成的字符串
^[A-Z]+$  //匹配由26個英文字母的大寫組成的字符串
^[a-z]+$  //匹配由26個英文字母的小寫組成的字符串
^[A-Za-z0-9]+$  //匹配由數字和26個英文字母組成的字符串
^/w+$  //匹配由數字、26個英文字母或者下劃線組成的字符串
^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$    //匹配email地址
^[a-zA-z]+://匹配(/w+(-/w+)*)(/.(/w+(-/w+)*))*(/?/S*)?$  //匹配url

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章