re正規表示式庫的簡介、入門、使用方法
re正規表示式庫的簡介
正規表示式在很多語言裡都支援,python也不例外,re模組就是正規表示式的應用 正規表示式對字串的邏輯操作,主要是對字串的一種過濾,用“元字元” 與“普通字元”組成一個字串規則對已知的字串或文字過濾出自己想要的字串。
1、正規表示式元字元
\
跳脫字元,將後邊緊跟著的字元變成特殊字元,或將後邊的特殊字元變成普通字元
如:在正規表示式中,"\n"換行符,"\\"則代表一個普通字元"\"
^ 匹配第一行行首,匹配多行需要傳參 flags=re.MULTILINE
$ 匹配最後一行行尾,匹配多行需要傳參 flags=re.MULTILINE
. 除"\r""\n"外,匹配任意的單個字元,要使"."匹配換行符,flags=re.DOTALL
| 或,如 "aaa|bbb|ccc",表示"aaa","bbb","ccc"三選一
? 匹配前邊的子表示式0次或1次,等價於{0,1}
+ 匹配前邊的子表示式1次或多次,等價於{1,}
* 匹配前邊的子表示式0次或多次,,等價於{0,}
{} {n}匹配前邊的子表示式n次,{n,}匹配前邊的子表示式至少n次 即:>= n,{n,m}匹配前邊的子表示式n~m次,即:n<= 表示式 <=m
() 分組,從1開始,從左至右數"("為第幾組,下標0為全部分組
[]
字符集匹配[]中的人一個字元,之匹配一次,如[abc]:表示"a","b","c"三選一。也可以給定範圍(必須是連續的才行),如[a-z]:表示a到z任意一個字元。
還可以取反,如[^abc]:除"a","b","c"外的任意字元。注:[]中只有"^","-","\"三個特殊字元,其中"\"代表跳脫字元,其它的都代表原本普通的字元,如:[.]只是一個普通的點字元
注:要使用元字元本身的普通字元,請使用跳脫字元轉義一下,如 :"\(" 在正規表示式中代表普通給"("字元,其它的雷同
re正規表示式庫的入門
1、re.match函式
re.match 嘗試從字串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match()就返回none。
語法:re.match(pattern, string, flags=0)
引數說明:
pattern 匹配的正規表示式
string 要匹配的字串。
flags 標誌位,用於控制正規表示式匹配的方式,如:是否區分大小寫,多行匹配等等。
2、re.search方法
re.search 掃描整個字串並返回第一個成功的匹配。
語法:re.search(pattern, string, flags=0)
引數說明:
pattern 匹配的正規表示式
string 要匹配的字串。
flags 標誌位,用於控制正規表示式匹配的方式,如:是否區分大小寫,多行匹配等等。
3、檢索和替換
Python 的 re 模組提供了re.sub用於替換字串中的匹配項。
語法:re.sub(pattern, repl, string, count=0, flags=0)
引數: 無錫人流手術多少錢
pattern : 正則中的模式字串。
repl : 替換的字串,也可為一個函式。
string : 要被查詢替換的原始字串。
count : 模式匹配後替換的最大次數,預設 0 表示替換所有的匹配。
4、re.compile 函式
compile 函式用於編譯正規表示式,生成一個正規表示式( Pattern )物件,供 match() 和 search() 這兩個函式使用。
語法:re.compile(pattern[, flags])
引數:
pattern : 一個字串形式的正規表示式
flags : 可選,表示匹配模式,比如忽略大小寫,多行模式等,具體引數為:
re.I 忽略大小寫
re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依賴於當前環境
re.M 多行模式
re.S 即為 . 並且包括換行符在內的任意字元(. 不包括換行符)
re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依賴於 Unicode 字元屬性資料庫
re.X 為了增加可讀性,忽略空格和 # 後面的註釋
re正規表示式庫的使用方法
1、去掉字串中的所有括號及括號內容
#去掉字串中的所有括號及括號內容
import re
str="今天(1)天氣{1}非常好啊,[1]是的。"
str_sub = re.sub(u"\\(.*?\\)|\\{.*?}|\\[.*?]", "", str)
print(str_sub)
'今天天氣非常好啊,是的。'
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69945560/viewspace-2655636/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python正規表示式簡記和re庫Python
- Python爬蟲— 1.4 正規表示式:re庫Python爬蟲
- python 正規表示式re常用操作符 使用方法 怎麼用re正規表示式表示一個IP地址:0-255Python
- JS正規表示式入門JS
- Regex 正規表示式入門
- Python 正規表示式 re 模組Python
- python re模組 正規表示式Python
- Python 之 RE(正規表示式)常用Python
- python正規表示式(re模組)Python
- python 關於正規表示式rePython
- 【記錄】正規表示式入門
- 正規表示式入門學習
- Java正規表示式簡單介紹Java
- 正規表示式re.compile的學習Compile
- 正規表示式從入門到入坑
- C++與正規表示式入門C++
- python中re模組的使用(正規表示式)Python
- 正規表示式簡述
- 正規表示式系列之初級入門篇
- 瞎說系列之正規表示式入門
- 簡單介紹python中使用正規表示式的方法Python
- 正規表示式簡明教程
- LeetCode-10. 正規表示式匹配(Python-re包)LeetCodePython
- python基礎 之 正規表示式和re模組Python
- python就業班----正規表示式及re應用Python就業
- 正規表示式單行、多行模式簡介(使用說明)模式
- 深入理解正規表示式:從入門到精通
- python正規表示式(簡明版)Python
- 【正規表示式】常用的正規表示式(數字,漢字,字串,金額等的正規表示式)字串
- 超詳細Python正規表示式操作指南(re使用),一Python
- Java-正規表示式regex庫Java
- Go 正規表示式庫之 commonregexGo
- 簡單介紹正規表示式拆分url例項程式碼
- C#快速入門教程(20)—— 字串與正規表示式C#字串
- JS正規表示式從入門到入土(5)—— 量詞JS
- 簡單介紹Idea使用正規表示式批量替換字串的方法Idea字串
- 正規表示式
- 正規表示式.