/^正則表達式$/


/^正則表達式$/

參考:

https://www.runoob.com/regexp/regexp-syntax.html

https://studygolang.com/pkgdoc golang regex

https://regexr.com/ 正則在線檢測

非打印字符

字符 描述
\n 換行
\r 回車
\t 制表符
\s 小寫 匹配任何空白字符, 包括空格, 制表符, 換行
\S 大寫 匹配任何非空字符

特殊字符

字符 描述
. 匹配除換行符 \n 之外的任何單字符。要匹配 . ,請使用 \.
\ 將下一個字符標記為或特殊字符、或原義字符、或向后引用、或八進制轉義符。例如, 'n' 匹配字符 'n'。'\n' 匹配換行符。序列 '\\' 匹配 "\",而'\('則匹配 "("
| 指明兩項之間的一個選擇(或)。要匹配 \, 請使用\|
( ) 標記一個子表達式的開始和結束位置。子表達式可以獲取供以后使用。要匹配這些字符,請使用 \(\)
\w [0-9A-Za-z_], 表示從 0 - 9 ,A - Z,a - z 中選出任意一個字符
\d [0- 9]

限定符

字符 描述
* 匹配前面的子表達式零次或多次。要匹配 * 字符,請使用 \*
+ 匹配前面的子表達式一次或多次。要匹配 + 字符,請使用 \+
? 匹配前面的子表達式零次或一次,或指明一個非貪婪限定符。要匹配 ? 字符,請使用 \?
[ ] 標記一個中括號表達式的開始和結束位置。表示從該范圍中取任意一個值,要匹配這些字符,請使用 \[\]
{n} n 是一個非負整數。匹配確定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的兩個 o。
{n,} n 是一個非負整數。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等價於 'o+'。'o{0,}' 則等價於 'o*'。
{n,m} m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 將匹配 "fooooood" 中的前三個 o。'o{0,1}' 等價於 'o?'。請注意在逗號和兩個數之間不能有空格。

定位符

字符 描述
^ 匹配輸入字符串的開始位置,除非在方括號表達式中使用,當該符號在方括號表達式中使用時,表示不接受該方括號表達式中的字符集合。要匹配 ^ 字符本身,請使用 ^。
$ 匹配輸入字符串的結尾位置。如果設置了 RegExp 對象的 Multiline 屬性,則 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,請使用 \$

看一個$的例子

如果沒有設置multiline只能匹配后面沒有換行符的

例子:

郵箱正則:

  • qq郵箱

    \d+@qq\.com

  • 163郵箱

    \w+@163\.com

  • 通用規則

    \w+@\w+\.\w+

電話正則:

  • 通用規則

    1[34578]\d{9}

身份證匹配:

  • 通用規則

    [1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[\dXx]

    區號[1-9]\d{5}
    年(18|19|20|)\d{2}
    月((0[1-9])|(1[0-2]))
    日(([0-2][1-9])|10|20|30|31) 
    校驗碼\d{3}[\dXx]  //[\dXx]表示從該范圍中取任意一字符
    

超鏈接:

  • 通用規則

    http(s)?://\w+\.\w+(\.\w+)?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM