正規表示式是一種文字模式,包括普通字元和特殊字元(元字元
)。正規表示式 使用單個字串來描述、匹配一系列符合某個句法規則的字串 。
[^xyz]
負值字元集合, 匹配集合中不包含的任意一字元, 如"[ace]"可以匹配"play"中的『p』、『l』、『y』.
[a-f][1-6]
字元範圍
, 匹配指定範圍內的任意一字元. 注意:
\b匹配乙個單詞邊界
,也就是指單詞和空格間的位置,如er\b匹配never中的er,但是不匹配verb中的er
\b匹配乙個非單詞編輯
, 和上面相反.
轉義等價字元:
(pattern)
獲取匹配
.捕獲括號
匹配pattern並獲取這一匹配,pattern被括號括起來則整體作為乙個子表示式。所謂獲取這一匹配即將匹配的結果保留在最後的匹配結果字串之內.
(?:pattern)
非獲取匹配
(非捕獲括號). 匹配pattern但不獲取結果, 在這之後使用或字元(|
)來組合乙個模式的各個部分很有用。所謂非捕獲(非獲取), 即該子匹配所匹配的結果(作為細節)不會體現到最終的結果上,忽略該匹配過程,而捕獲括號,則可以在結果中獲取到該子匹配的匹配結果字串(通過group函式)
(?=pattern)
正向肯定預查
(非捕獲). 在當前已匹配字元的正向(向後)判斷是否符合子匹配的預查條件,不符合條件則整個匹配就會回溯。所謂預查, 即預先查詢,預查不消耗字元,也不會將預查的結果新增到最終的匹配結果字串
pattern:"windows(?=95|nt|2000)"
可以匹配windows95中的windows
不能匹配windows98中的windows
匹配結果只為windows
(?!pattern)
正向否定預查
(非捕獲). 和正向肯定預查基本一致,區別在於不滿足子匹配預查條件的才算通過匹配。
(?<=pattern)
反向肯定預查
(非捕獲). 和正向肯定預查基本一致,區別在於子匹配在當前匹配字串的反向(前面)
(?
正規表示式介紹
一 前言 對於正規表示式,相信很多人都知道,但是很多人的第一感覺就是難學,因為看第一眼時,覺得完全沒有規律可尋,而且全是一堆各種各樣的特殊符號,完全不知所云。其實只是對正則不了解而以,了解了你就會發現,原來就這樣啊正則所用的相關字元其實不多,也不難記,更不難懂,唯一難的就是組合起來之後,可讀性比較差...
正規表示式 介紹
表示式全集 字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了regexp物件的multiline屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的...
正規表示式詳細介紹
單個表示 1 d 數字 2 d 非數字 注 大小寫就是取反的意思 3 w 任意乙個字母或數字或下劃線 4 s 空白符 換行 製表符 空格 5 任意字元 除了換行符 自定義字元集合 表示匹配內的任意乙個字元,是乙個或運算,比如 123 就表示是數字1或數字2或數字3 表示非運算,比如 123 表示除了...