目錄 re正則表達(dá)式庫(kù)的簡(jiǎn)介 1、正則表達(dá)式元字符 re正則表達(dá)式庫(kù)的入門 1、re.match函數(shù) 2、re.search方法 3、檢索和替換 4、re.compile 函數(shù) re正則表達(dá)式庫(kù)的使用方法 1、去掉字符串中的所有括號(hào)及括號(hào)內(nèi)容
re正則表達(dá)式庫(kù)的簡(jiǎn)介 正則表達(dá)式在很多語(yǔ)言里都支持,python也不例外,re模塊就是正則表達(dá)式的應(yīng)用 正則表達(dá)式對(duì)字符串的邏輯操作,主要是對(duì)字符串的一種過(guò)濾,用“元字符” 與“普通字符”組成一個(gè)字符串規(guī)則對(duì)已知的字符串或文本過(guò)濾出自己想要的字符串。 1、正則表達(dá)式元字符\ | 轉(zhuǎn)義字符,將后邊緊跟著的字符變成特殊字符,或?qū)⒑筮叺奶厥庾址兂善胀ㄗ址?/p> 如:在正則表達(dá)式中,'\n'換行符,'\\'則代表一個(gè)普通字符'\' | ^ | 匹配第一行行首,匹配多行需要傳參 flags=re.MULTILINE | $ | 匹配最后一行行尾,匹配多行需要傳參 flags=re.MULTILINE | . | 除'\r''\n'外,匹配任意的單個(gè)字符,要使'.'匹配換行符,flags=re.DOTALL | | | 或,如 'aaa|bbb|ccc',表示'aaa','bbb','ccc'三選一 | ? | 匹配前邊的子表達(dá)式0次或1次,等價(jià)于{0,1} | + | 匹配前邊的子表達(dá)式1次或多次,等價(jià)于{1,} | * | 匹配前邊的子表達(dá)式0次或多次,,等價(jià)于{0,} | {} | {n}匹配前邊的子表達(dá)式n次,{n,}匹配前邊的子表達(dá)式至少n次 即:>= n,{n,m}匹配前邊的子表達(dá)式n~m次,即:n<= 表達(dá)式 <=m | () | 分組,從1開(kāi)始,從左至右數(shù)'('為第幾組,下標(biāo)0為全部分組 | [] | 字符集匹配[]中的人一個(gè)字符,之匹配一次,如[abc]:表示'a','b','c'三選一。也可以給定范圍(必須是連續(xù)的才行),如[a-z]:表示a到z任意一個(gè)字符。 還可以取反,如[^abc]:除'a','b','c'外的任意字符。注:[]中只有'^','-','\'三個(gè)特殊字符,其中'\'代表轉(zhuǎn)義字符,其它的都代表原本普通的字符,如:[.]只是一個(gè)普通的點(diǎn)字符 |
注:要使用元字符本身的普通字符,請(qǐng)使用轉(zhuǎn)義字符轉(zhuǎn)義一下,如 :'\(' 在正則表達(dá)式中代表普通給'('字符,其它的雷同 re正則表達(dá)式庫(kù)的入門1、re.match函數(shù)re.match 嘗試從字符串的起始位置匹配一個(gè)模式,如果不是起始位置匹配成功的話,match()就返回none。 語(yǔ)法:re.match(pattern, string, flags=0) 參數(shù)說(shuō)明: 2、re.search方法re.search 掃描整個(gè)字符串并返回第一個(gè)成功的匹配。 語(yǔ)法:re.search(pattern, string, flags=0) 參數(shù)說(shuō)明: 3、檢索和替換Python 的 re 模塊提供了re.sub用于替換字符串中的匹配項(xiàng)。 語(yǔ)法:re.sub(pattern, repl, string, count=0, flags=0) 參數(shù): 4、re.compile 函數(shù)compile 函數(shù)用于編譯正則表達(dá)式,生成一個(gè)正則表達(dá)式( Pattern )對(duì)象,供 match() 和 search() 這兩個(gè)函數(shù)使用。 語(yǔ)法:re.compile(pattern[, flags]) 參數(shù): re正則表達(dá)式庫(kù)的使用方法1、去掉字符串中的所有括號(hào)及括號(hào)內(nèi)容#去掉字符串中的所有括號(hào)及括號(hào)內(nèi)容 str='今天(1)天氣{1}非常好啊,[1]是的。' str_sub = re.sub(u'\\(.*?\\)|\\{.*?}|\\[.*?]', '', str)
|