国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python正則表達(dá)式之對號入座篇

2020-01-04 14:43:49
字體:
供稿:網(wǎng)友

一、定義

正則表達(dá)式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來表達(dá)對字符串的一種過濾邏輯。如果找到了符合這樣一種規(guī)則的字符串,我們就說匹配上了,否則匹配失敗。

二、匹配規(guī)則

1.語法規(guī)則

python,正則表達(dá)式

2.相關(guān)注解

a.反斜杠問題

假如你需要匹配文本中的字符"/",那么使用編程語言表示的正則表達(dá)式里將需要4個(gè)反斜杠"////":前兩個(gè)和后兩個(gè)分別用于在編程語言里轉(zhuǎn)義成反斜杠,轉(zhuǎn)換成兩個(gè)反斜杠后再在正則表達(dá)式里轉(zhuǎn)義成一個(gè)反斜杠。其匹配過程如下:

 

字符 匹配過程
////abc 為字符串實(shí)值取消反斜杠轉(zhuǎn)義
//abc 為re.compile()取消反斜杠轉(zhuǎn)義
/abc 欲匹配的目標(biāo)字符串

 

為了解決輸入四個(gè)“/”的麻煩,我們可以使用python里的原生字符串(raw string),即在字符串前面加上r。如下:

import re  print(re.search(r"//abc","123//abc"))

從上面可知,使用原生字符串就省去了從字符串實(shí)值到re編譯器的字符串轉(zhuǎn)義過程,而編譯器編譯的時(shí)候仍然要轉(zhuǎn)義。

b.貪婪匹配與非貪婪匹配

貪婪匹配:正則表達(dá)式一般趨向于最大長度匹配,也就是所謂的貪婪匹配。如:

 import reprint(re.match("ab.*c","abcdfghc"))

匹配的結(jié)果為整個(gè)字符串。而非貪婪匹配就是匹配到結(jié)果就好,最少地匹配字符。python默認(rèn)是貪婪模式;在量詞后面直接加上一個(gè)問號?就是非貪婪模式。

 import re print(re.match("ab.*?c","abcdfghc"))

這樣匹配的結(jié)果就是“abc”。

三、模塊和函數(shù)

re模塊

compile()編譯語法規(guī)則

match()  從字符串開頭位置開始匹配

search() 從字符串任意位置匹配到第一個(gè)符合規(guī)則的字符串

findall  以列表形式返回所有匹配到的字符串

finditer               以迭代器形式返回所有匹配到的字符串

split()  拆分字符串

group()   獲取匹配到的字符串的分組信息

四、特殊構(gòu)造的規(guī)則

python,正則表達(dá)式

總結(jié)

以上所述是小編給大家介紹的python正則表達(dá)式之對號入座篇,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對VEVB武林網(wǎng)網(wǎng)站的支持!


注:相關(guān)教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 卓资县| 台东县| 大安市| 新郑市| 文化| 衡东县| 林甸县| 广州市| 海南省| 太谷县| 汉川市| 开阳县| 大姚县| 安仁县| 庆城县| 屯门区| 麻栗坡县| 和田市| 华宁县| 浠水县| 黄龙县| 安丘市| 左云县| 上林县| 汽车| 屏东县| 专栏| 秦皇岛市| 保靖县| 利辛县| 图们市| 浦城县| 谢通门县| 景谷| 郓城县| 容城县| 桐柏县| 乌兰察布市| 北辰区| 镇康县| 鹤庆县|