正規表示式是對字串(包括普通字元(例如,a 到 z 之間的字母)和特殊字元(稱為「元字元」))操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成乙個「規則字串」,這個「規則字串」用來表達對字串的一種過濾邏輯。正規表示式是一種文字模式,該模式描述在搜尋文字時要匹配的乙個或多個字串。
普通字元
[abcd]匹配所有a b c d字元
[^abcd]匹配除了a b c d的字元
[a-z]匹配所有大寫字母
[a-z]匹配所有小寫字母
/./匹配除\n \r之外的字元,相當於[^\n\r]
[\s]匹配所有空白符,包括換行符 [\s]匹配所有非空白符
/\w/匹配字母、數字、下劃線 等於[a-za-z0-9]
非列印字元
\cx 匹配control+x(字元),x為a-z,a-z
\f 匹配換頁符
\n匹配換行符
\r 匹配回車符
\t 匹配製表符
\v匹配垂直製表符
特殊字元
^字串開始位置
$ 字串結尾位置
*匹配子表示式零次或多次
+匹配子表示式一次或多次
?匹配子表示式零次或多次,當該字元緊跟在任何乙個其他限制符 (*, +, ?, , , ) 後面時,匹配模式是非貪婪的。非貪婪模式盡可能少的匹配所搜尋的字串,而預設的貪婪模式則盡可能多的匹配所搜尋的字串。例如,對於字串 "oooo",'o+?' 將匹配單個 "o",而 'o+' 將匹配所有 'o'。
x|y 匹配x或y
\b 匹配單詞邊界,如oo\b可以匹配"too"中的oo,不能匹配"food"中的oo
\b匹配非單詞邊界,如oo\b可以匹配"food"中的oo,不能匹配"too"中的oo
\d匹配數字字元,等於[0-9]
\d匹配非數字字元,等於[^0-9]
限定符
n是非負整數,如o匹配兩個o
n非負整數,如o匹配兩個以上o
n<=m,如o匹配前三個o
選擇
圓括號()將所有選擇項括起來,相鄰選擇項用|分隔,()會把每個分組匹配的值儲存,
如23465safjkh797809bjkhkh0djkahd,匹配規則/([1-9])[a-z]+)/
匹配兩個結果n[0]=5safjkh n[1]=9bjkhkh
exp1(?=exp2):查詢 exp2 前面的 exp1
(?<=exp2)exp1:查詢 exp2 後面的 exp1
exp1(?!exp2):查詢後面不是 exp2 的 exp1
(?修飾符
i 搜尋時不區分大小寫
g 全域性匹配
m 多行匹配
s 特殊字元.包含換行符\n
正規表示式從左往右進行計算,優先順序如下
轉義符\
圓括號和方括號(), (?:), (?=),
限定符*, +, ?, , ,
定位點和序列(即:位置和順序)^, $, \任何元字元、任何字元
替換,或:|
正規表示式 規則表示式
今天學習了正規表示式的一些基礎知識,1.概念 首先了解了一下正規表示式的含義 一些便於計算機識別的規則,能夠快速方便地對字元進行操作。而對於計算機而言,也有一寫規則表示式,它是能令計算機讀懂的 所以對我們來說看起來比較費勁 也相當於計算機的常識,一遇到就知道你要幹什麼。2.建立正則物件 var re...
正規表示式 規則
system.out.printf example 2f n 19.234 example 19.23 system.out.printf example 6.2f n 19.234 example 19.23 l xn匹配 ascii 碼值等於 n的字元 此處的 n 必須是兩位的十六進製制數。例如...
正規表示式規則
正規表示式是用乙個字串表示乙個特徵,來驗證另乙個字串是否滿足這一特徵的方法。正規表示式主要用於檢驗規則匹配,查詢特定規則字串的位置,進行特定規則替換。1.匹配普通字元 匹配乙個特定的字元,如a,那麼正規表示式就寫為a。2.匹配轉義字元 一般轉義字元 r 回車,n 換行,t 製表符,f 換頁符,v 垂...