1.正規表示式的基本使用
import re
re.match(r』***』, 匹配的字串) 嘗試從字串的起始位置匹配乙個模式匹配成功re.match方法返回乙個匹配的物件,否則返回none。可以使用group(num) 或 groups() 匹配物件函式來獲取匹配表示式,groups()返回的是乙個元組。
2.使用正規表示式匹配單個字元
.匹配任意1個字元(除了\n)re.s則可以匹配換行
re.i 表示大小寫不敏感
[1-9] 匹配[ ]中列舉的任意乙個字元
\d 匹配數字,即0-9
\d 匹配非數字,即不是數字
\s 匹配空白,即 空格,tab鍵,換行
\s 匹配非空白
\w 匹配單詞字元,即a-z、a-z、0-9、_。預設是re.u,即unicode編碼,可以匹配中文,加上re.a即可指定ascii編碼,等價於[a-za-z0-9_]
\w 匹配非單詞字元
3.使用正規表示式匹配多個字元
* 匹配前乙個字元出現0次或者無限次,即可有可無
+ 匹配前乙個字元出現1次或者無限次,即至少有1次
? 匹配前乙個字元出現1次或者0次,即要麼有1次,要麼沒有
匹配前乙個字元出現m次
匹配前乙個字元出現從m到n次,並且m小於n,逗號兩側不能有空格。
匹配前乙個字元出現m到無限次
4.匹配開頭結尾邊界的使用
^ 匹配字串開頭[^a]表示的是只要不是a
$ 匹配字串結尾
5.匹配分組的使用
| 匹配左右任意乙個表示式
(ab) 將括號中字元作為乙個分組
\num 引用分組num匹配到的字串 \1 \2
(?p) 分組起別名
(?p=name) 引用別名為name分組匹配到的字串.
6.re高階函式 search、findall、sub、split等的使用
re.search 掃瞄整個字串並返回第乙個成功的匹配
。匹配成功re.search方法返回乙個匹配的物件,否則返回none。可以使用group(num) 或 groups() 匹配物件函式來獲取匹配表示式。
re.findall
在字串中找到正規表示式所匹配的所有子串,並返回乙個列表
,如果沒有找到匹配的,則返回空列表
。不需要通過group()取值
re.sub用於替換字串中的匹配項
re.split 根據匹配進行切割字串,並返回乙個列表
7.re.match與re.search的區別
re.match只匹配字串的開始,如果字串開始不符合正規表示式,則匹配失敗,函式返回none;而re.search匹配整個字串,直到找到乙個匹配。
貪婪和非貪婪的特點以及使用方式
8.python裡正則匹配預設是貪婪的(在少數語言裡也可能是預設非貪婪),總是嘗試匹配盡可能多的字元;非貪婪則相反,總是嘗試匹配盡可能少的字元。在"*","?","+",""後面加上?,使貪婪變成非貪婪
9.字串前加r的作用
python中字串前面加上 r 表示原生字串
python中正規表示式
python中正規表示式語法與linux中的相容 檢視正規表示式 python提供re模組,包含所有正規表示式的功能。由於python的字串本身也用 轉義,所以要特別注意 s abc 001 python的字串 對應的正規表示式字串變成 abc 001 建議使用python的r字首,就不用考慮轉義的...
Python 中 正規表示式
一 最近要對字串執行很多操作,所以學了正規表示式 不得不說正規表示式對字串的操作還是很給力的 runoob上面的教程 python中的正規表示式 正規表示式教程 python中要使用正規表示式,首先要匯入re模組 import re 二 常用函式 或者說方法 re.match 作用 嘗試從字串的起始...
Python中正規表示式
python re模組正規表示式中常用的字元有兩類 普通字元和11個元字元,元字元表示特定的功能,比如下面的 被括起來的表示式將作為分組,從表示式左邊開始每遇到乙個分組的左括號 編號 1。分組表示式作為乙個整體,可以後接數量詞。表示式中的 僅在該組中有效。那麼我們想匹配表示式中的 字元怎麼辦呢?通過...