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

首頁 > 編程 > Python > 正文

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

2019-11-25 15:57:16
字體:
來源:轉載
供稿:網友

本文實例講述了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為函數,需要加括號

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:

JavaScript正則表達式在線測試工具:
http://tools.VeVB.COm/regex/javascript

正則表達式在線生成工具:
http://tools.VeVB.COm/regex/create_reg

更多關于Python相關內容可查看本站專題:《Python正則表達式用法總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永丰县| 新平| 乌兰察布市| 闻喜县| 时尚| 葫芦岛市| 丹棱县| 舞阳县| 宜章县| 金塔县| 南通市| 新蔡县| 凤庆县| 什邡市| 泰安市| 文水县| 施甸县| 晋江市| 朝阳区| 隆回县| 扬州市| 左贡县| 博客| 城固县| 浑源县| 嘉定区| 灵宝市| 富裕县| 东阳市| 柳林县| 新龙县| 大安市| 桑日县| 吴江市| 青海省| 海盐县| 罗源县| 陆良县| 华池县| 东乌珠穆沁旗| 玉龙|