正則表示式(一):基本操作

正則表示式是個啥

用單個字串來更加方便的處理文字和資料的

字串

基本語法

一般字元:

“^” :^會匹配行或者字串的起始位置,有時還會匹配整個文件的起始位置。

“$”:$會匹配行或字串的結尾

“\d”: 匹配數字,

正則表示式(一):基本操作

正則表示式(一):基本操作

“\w”:匹配字母,數字,下劃線

正則表示式(一):基本操作

“\s”:匹配空格

正則表示式(一):基本操作

“。”:匹配除了換行符以外的任何字元

正則表示式(一):基本操作

“[abc]”: 字元組 匹配包含括號內元素的字元

正則表示式(一):基本操作

正則表示式(一):基本操作

寫法很簡單改成大寫就行了,意思與原來的相反,這裡就不舉例子了。

“\W” 匹配任意不是字母,數字,下劃線 的字元

“\S” 匹配任意不是空白符的字元

“\D” 匹配任意非數字的字元

“\B” 匹配不是單詞開頭或結束的位置

“[^abc]” 匹配除了abc以外的任意字元

量詞:

“*” 離*號之前最近的那個元素重複零次或多次

正則表示式(一):基本操作

“+” 離+號之前最近的那個元素重複一次或更多次

正則表示式(一):基本操作

“?” 離?號之前最近的那個元素重複零次或一次

正則表示式(一):基本操作

“{n}” 重複n次 例如從“aaaaaaaa” 匹配字串的a 並重復3次 正則:“a{3}” 結果就是取到3個a字元 “aaa”;

“{n,m}” 重複n到m次

例如正則 “a{3,4}” 將a重複匹配3次或者4次 所以供匹配的字元可以是三個“aaa”也可以是四個“aaaa” 正則都可以匹配到

正則表示式(一):基本操作

“{n,}” 重複n次或更多次

與{n,m}不同之處就在於匹配的次數將沒有上限,但至少要重複n次 如 正則“a{3,}” a至少要重複3次

常用組合

“。*” 貪婪模式,就是整個字串中匹配範圍最大的匹配

正則表示式(一):基本操作

“。*?” 找到符合條件的只匹配一次

正則表示式(一):基本操作

“。+?” 注意與“。*?”區別,至少要重複1次

正則表示式(一):基本操作

“{n,m}?” 重複n到m次,但儘可能少重複

如 “aaaaaaaa” 正則 “a{0,m}” 因為最少是0次所以取到結果為空

“{n,}?” 重複n次以上,但儘可能少重複

如 “aaaaaaa” 正則 “a{1,}” 最少是1次所以取到結果為 “a”

關係

?等價於匹配長度{0,1}

*等價於匹配長度{0,}

+等價於匹配長度{1,}

\d等價於[0-9]

\D等價於[^0-9]

\w等價於[A-Za-z_0-9]

\W等價於[^A-Za-z_0-9]

對此文章有任何問題,均可反饋至公眾號

我們會第一時間回覆

長按關注,程式設計不迷路哦

正則表示式(一):基本操作