\b 並不匹配這些單詞分隔字元中的任何乙個,它只匹配乙個位置
. 匹配除了換行符以外的任意字元
* *前面的內容可以連續重複使用任意次(即0次或多次)
? ?前面的內容可以出現0次或1次
.* 匹配任意數量的不包含換行的字元
+ +前面的內容可以連續重複使用1次或多次(即1次或多次)
*? 匹配重複任意次,但盡可能少重複的字元
+? 匹配重複1次或更多次,但盡可能少重複的字元
?? 匹配重複0次或1次,但盡可能少重複的字元
? 重複n到m次,但盡可能少重複
? 重複n次以上,但盡可能少重複
^ 匹配你要用來查詢的字串的開頭
$ 匹配結尾
匹配**現的任意乙個字元
[aeiou] 匹配任何乙個英文母音字母
[.?!] 匹配標點符號(.或?或!)
[^x] 匹配除了x以外的任意字元
[^aeiou] 匹配除了aeiou這幾個字母以外的任意字元
\d 匹配任意數字字元
\d 匹配任意非數字的字元
\d 匹配2個任意數字
\d 匹配2-5個任意數字
\d+ 匹配1個或更多連續的數字
\w 匹配字母或數字或下劃線或漢字等
\w 匹配不是字母或數字或下劃線或漢字等
\s 匹配任意的空白符,包括空格,製表符(tab),換行符,中文全形空格等
\s 匹配任意的不是空白符,包括空格,製表符(tab),換行符,中文全形空格等
分枝條件:
| 有幾種規則,如果滿足其中任意一種規則都應該當成匹配,具體方法是用|把不同的規則分隔開
0\d-\d|0\d-\d 這個表示式能匹配兩種以連字型大小分隔的**號碼:一種是三位區號,8位本地號(如010-12345678),一種是4位區號,7位本地號(0376-2233445)
分組:() 用小括號來指定子表示式(也叫做分組),然後你就可以指定這個子表示式的重複次數了,你也可以對子表示式進行其它一些操作
貪婪匹配:
匹配盡可能多的字元
a.*b 它將會匹配最長的以a開始,以b結束的字串
非貪婪匹配:
匹配盡可能少的字元
.? 匹配任意數量的重複,但是在能使整個匹配成功的前提下使用最少的重複。
a.?b 匹配最短的,以a開始,以b結束的字串。如果把它應用於aabab的話,它會匹配aab(第一到第三個字元)和ab(第四到第五個字元)。
零寬斷言:
(?=exp) 也叫零寬度正**先行斷言,它斷言自身出現的位置的後面能匹配表示式exp。比如\b\w+(?=ing\b),匹配以ing結尾的單詞的前面部分(除了ing以外的部分),如查詢i』m singing while you』re dancing.時,它會匹配sing和danc。
(?<=exp) 也叫零寬度正回顧後發斷言,它斷言自身出現的位置的前面能匹配表示式exp。
比如 (?<=\bre)\w+\b 會匹配以re開頭的單詞的後半部分(除了re以外的部分),例如在查詢reading a book時,它匹配ading。
(?<=\s)\d+(?=\s) 匹配以空白符間隔的數字(再次強調,不包括這些空白符)
python中的re模組函式:
第乙個引數pattern是正規表示式字串或正規表示式物件
第二個引數string是要跟正規表示式做匹配的字串物件
compile(pattern, flags=0) 編譯正規表示式返回正規表示式物件
match(pattern, string, flags=0) 用正規表示式匹配字串 成功返回匹配物件 否則返回none
search(pattern, string, flags=0) 搜尋字串中第一次出現正規表示式的模式 成功返回匹配物件 否則返回none
split(pattern, string, maxsplit=0, flags=0) 用正規表示式指定的模式分隔符拆分字串 返回列表
sub(pattern, repl, string, count=0, flags=0) 用指定的字串替換原字串中與正規表示式匹配的模式 可以用count指定替換的次數
fullmatch(pattern, string, flags=0) match函式的完全匹配(從字串開頭到結尾)版本
findall(pattern, string, flags=0) 查詢字串所有與正規表示式匹配的模式 返回字串的列表
finditer(pattern, string, flags=0) 查詢字串所有與正規表示式匹配的模式 返回乙個迭代器
purge() 清除隱式編譯的正規表示式的快取
re.i / re.ignorecase 忽略大小寫匹配標記
re.m / re.multiline 多行匹配標記
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式使用總結
匹配年月日 0 9 1 9 0 9 1 9 0 9 0 9 1 9 0 9 1 9 0 9 0 13578 1 02 0 1 9 12 0 9 3 01 0 469 11 0 1 9 12 0 9 30 02 0 1 9 1 0 9 2 0 8 匹配中文 u4e00 u9fa5 匹配雙位元組字元,包...
正規表示式 使用總結
1 匹配a標籤 2 正則匹配頁面所有a標籤或img標籤 public static arraylist cutstr string sstr,string patrn catch system.exception ex return al matchcollection物件取group的方法很好用。...