正則表達式筆記(一)

  • ? 表示前面的字符可選。
  • +表示一個或多個。
  • *表示0個或多個。
  • [] 字符組或字符集 匹配方括號里限定的字符集。字符組簡寫式 \d=[0-9] 匹配任意阿拉伯數(shù)字。
  • \D =[^0-9]匹配任意的非數(shù)字字符 。
  • \w 這個簡寫式將匹配所有的單詞字符。\D與\w的區(qū)別是\D會匹配空格、標點符號(引號、連字符、反斜杠、方括號)等字符,而\w卻不會,它只匹配字母、數(shù)字和下劃線。等同于字符組[_a-zA-Z0-9]。
  • \W 匹配非單詞字符,匹配空格、標點以及其他非字母、非數(shù)字字符。等同于字符組[^_a-zA-Z0-9]
  • \s 匹配空白字符=[????\t\n\r]它會匹配:
    ?空格 ?制表符(\t) ?換行符(\n) ?回車符(\r)
  • \S 匹配非空白字符
  • .英文句號,是一個通配符可以匹配任意字符(但某些情況下不能匹配行起始符)。
  • {} 包含數(shù)字的花括號是一種量詞(quantifier)。花括號本身用做元字符。表示字符出現(xiàn)的次數(shù)。
  • ^ 脫字符,表示匹配的字符串會出現(xiàn)在一行的起始位置。
  • $ 美元符$匹配一行結(jié)束位置。
  • () 一對圓括號表示捕獲分組。
  • \1 表示后向引用。

例如先將一個\d放在一對圓括號中,這樣就將它放入了一個分組中,
后面可以用\1來對捕獲的內(nèi)容進行后向引用:
(\d)\d\1
\1對括號內(nèi)分組捕獲的內(nèi)容進行了反向引用。例如這個正則表達式可以匹配707,而不能匹配706。

例子

1、(\d{3}[.-]?){2}\d{4}
這個表達式匹配的字符串是連續(xù)兩個無括號的三位數(shù)字,每三位數(shù)字后可以帶連字符也可以不帶,最后是一個四位數(shù)字

2、((\d{3})|\d{3}[.-]?)?\d{3}[.-]?\d{4}$

  • 出現(xiàn)在正則表達式起始位置或者豎線(|)之后的脫字符^,表示匹配的字符串會出現(xiàn)在一行的起始位置;
  • 左括號(為捕獲分組的起始符;
  • (表示左括號本身;
  • \d匹配一位數(shù)字;
  • \d之后的{3}是量詞,表示匹配三位數(shù)字;
  • )匹配右括號本身
  • 豎線符|表示選擇,也就是從多個可選項中選擇一個,換句話說,
    它表示“匹配一個不帶括號的字符串或一個帶括號的字符串”;
  • 脫字符^匹配行起始位置;
  • \d匹配一位數(shù)字;
  • {3}是表示匹配三位數(shù)字的量詞;
  • [.-]?匹配一個可選的點號或連字符;
  • 右括號)為捕獲分組的結(jié)束符;
  • 問號?表示分組可選,即分組中的前綴可有可無;
  • \d匹配一位數(shù)字;
  • {3}表示匹配三位數(shù)字的量詞;
  • [.-]?匹配另一個可選的點號或連字符;
  • \d匹配一位數(shù)字;
  • {4}是表示匹配四位數(shù)字的量詞;
  • 美元符$匹配行結(jié)束位置。

工具

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容