正則表達式-入門

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

正則表達式的定義

正則表達式,又稱規則表達式(英語: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的連字符(-)可以匹配