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

首頁 > 編程 > Python > 正文

Python正則表達式非貪婪、多行匹配功能示例

2020-01-04 17:08:22
字體:
供稿:網(wǎng)友

本文實例講述了Python正則表達式非貪婪、多行匹配功能。分享給大家供大家參考,具體如下:

一些regular的tips:

1 非貪婪flag

>>> re.findall(r"a(/d+?)","a23b") # 非貪婪模式    ['2']>>> re.findall(r"a(/d+)","a23b")    ['23']

注意比較這種情況:

>>> re.findall(r"a(/d+)b","a23b")    ['23']>>> re.findall(r"a(/d+?)b","a23b") #如果前后均有限定條件,則非匹配模式失效    ['23']

2 如果你要多行匹配,那么加上re.S和re.M標志

re.S:.將會匹配換行符,默認.逗號不會匹配換行符

>>> re.findall(r"a(/d+)b.+a(/d+)b","a23b/na34b")    []>>> re.findall(r"a(/d+)b.+a(/d+)b","a23b/na34b",re.S)    [('23','34')]>>>

re.M:^$標志將會匹配每一行,默認^只會匹配符合正則的第一行;默認$只會匹配符合正則的末行

>>> re.findall(r"^a(/d+)b","a23b/na34b")    ['23']>>> re.findall(r"^a(/d+)b","a23b/na34b",re.M)    ['23','34']

但是,如果沒有^標志,

>>> re.findall(r"a(/d+)b","a23b/na34b")    ['23','43']

可見,是無需re.M

import ren='''12 drummers drumming,11 pipers piping, 10 lords a-leaping'''p=re.compile('^/d+')p_multi=re.compile('^/d+',re.MULTILINE) #設置 MULTILINE 標志print re.findall(p,n) #['12']print re.findall(p_multi,n) # ['12', '11']
import rea = 'a23b'print re.findall('a(/d+?)',a) #['2']print re.findall('a(/d+)',a) #['23']print re.findall(r'a(/d+)b',a) #['23']print re.findall(r'a(/d+?)b',a) # ['23']
b='a23b/na34b'''' . 匹配非換行符的任意一個字符'''print re.findall(r'a(/d+)b.+a(/d+)b',b) #[]print re.findall(r'a(/d+)b',b,re.M) # ['23', '34']print re.findall(r'^a(/d+)b',b,re.M) # ['23', '34']print re.findall(r'a(/d+)b',b) #['23','34'] 可以匹配多行print re.findall(r'^a(/d+)b',b) # ['23'] 默認^只會匹配符合正則的第一行print re.findall(r'a(/d+)b$',b) # ['34'] 默認$只會匹配符合正則的末行print re.findall(r'a(/d+)b',b,re.M) #['23', '34']print re.findall(r'a(/d+)b.?',b,re.M) # ['23', '34'] 表達式中的'.'匹配除換行符以外的字符,'?'匹配前一個字符0次或1次print re.findall(r"a(/d+)b", "a23b/na34b") # ['23', '34']

注:Python3.4中,print為函數(shù),需要加括號

希望本文所述對大家Python程序設計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 丹江口市| 外汇| 平湖市| 鞍山市| 仪征市| 尖扎县| 江北区| 利辛县| 吴桥县| 江都市| 贺兰县| 榕江县| 湛江市| 唐海县| 金昌市| 株洲县| 宣威市| 繁峙县| 秭归县| 都匀市| 泗水县| 中江县| 云安县| 武冈市| 遂溪县| 永丰县| 永修县| 鄂托克旗| 额尔古纳市| 科技| 泽州县| 左权县| 措勤县| 怀集县| 邯郸市| 正镶白旗| 太谷县| 阿拉善左旗| 安阳县| 松阳县| 乌鲁木齐县|