正則表達式-入門

正則表達式-入門

前言:今天先分享正則表達式的基礎元字符,後續會分享正則表達式的子表達式,回溯引用,前後查找,嵌入條件,,全部分享完成之後,會嘗試著去分享一些例子與拆分介紹。如果文字描述有問題可以評論指出,如果概念很模糊,可以加我微信,我會盡量解答你的疑惑。

正則表達式的定義

正則表達式,又稱規則表達式(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式通常被用來檢索、替換那些符合某個模式(規則)的文本。

正則表達式的字符區間

[]這個元符號可以定義一個字符集合,字符集合能夠與在該集合裡的字符區間的字符相匹配。字符區間可以使用 - 連字符來定義範圍。

  • A-Z 匹配從A到Z的所有大寫字母
  • a-z 匹配從a到z的所有小寫字母
  • A-Y 匹配從A到Y的所有大寫字母
  • A-z 匹配從ASCII字符A到ASCII字符z的所有字母
  • -只能在[]間出現,出現在[]外面,相等於匹配-

正則表達式取非

  • [^0-9] 匹配非數字
  • [^a-zA-Z] 匹配非英文
  • [^\\S] 匹配非空白符

正則表達式的空白元字符

  • [\\b] 回退並刪除一個字符(backspace)
  • \\f 換頁符
  • \\n 換行符
  • \\r 回車符
  • \\v 垂直製表符
  • \\t 製表符tab鍵


注:\\r\\n是windows使用的文本行結束標籤,\\n是unix/linux的文本行結束標籤

正則表達式的其他元字符

  • \\d匹配任何一個數字字符
  • \\D匹配任何一個非數字字符
  • \\w匹配任何一個字母數字字符(大小寫)或者下劃線字
  • 符=[0-9a-zA-Z_]
  • \\W匹配任何一個非字母數字或非下劃線字符
  • =[^0-9a-zA- Z_]
  • \\s匹配任何一個空白字符=[\\f\\r\\n\\t\\v]
  • \\S匹配任何一個非空白字符=[^\\f\\n\\r\\t\\v]

正則表達式匹配字符

  • +匹配一個或多個字符
  • *匹配零個或者多個,可有可無,可多可少
  • ?匹配零個或者一個字符舉例:http與https
  • {} 可以設定匹配字符的次數
  • {3}匹配三次
  • {4,8}匹配最少4次,最多8次
  • {3,}匹配重複最少3次

正則表達式的貪婪型字符與懶惰型字符

* + 為貪婪性元字符,在進行匹配時,行為模式是多多益善而不是適可而止的,會盡可能的從一段文本的開頭一直匹配到文本的末尾,而不是從這段文本的開頭匹配到碰到的第一個匹配是為止。

懶惰型字符相反。

貪婪型字符 * + {n,}

懶惰型字符 *? +? {n,}?

正則表達式邊界字符

\\w相匹配的字符叫做單詞邊界,\\W相匹配的叫做非單詞邊界

\\b單詞邊界字符,例如:至匹配 at 而不匹配 what,可以使用 --\\bat\\b

\\B匹配一個前後都不是單詞邊界的連字符(-),nine-digit不能匹配,color - coded的連字符(-)可以匹配


分享到:


相關文章: