竹内纱里奈和大战黑人_欧美成人黄色小视频_91福利影视_欧美在线观看视频网站_h色网站免费观看_97综合

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

筆記之 Python正則表達式

極客小將2021-02-02-
簡介文章目錄0、前言1、正則表達式模式2、正則表達式修飾符-可選標志2.1、`re.IGNORECASE`(`re.I`)2.2、`re.ASCII`(`re.A`)2.3、`re.DOTALL`(`re.S`)2.4、`re.MULTILINE`(`re.M`)2.5、`re.VERBOSE`(re.
Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

文章目錄Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

0、前言1、正則表達式模式2、正則表達式修飾符 - 可選標志2.1、`re.IGNORECASE`(`re.I`)2.2、`re.ASCII`(`re.A`)2.3、`re.DOTALL`(`re.S`)2.4、`re.MULTILINE`(`re.M`)2.5、`re.VERBOSE`(re.X)2.6、修飾符的疊加3、正則表達式函數3.1、查找單個匹配項的函數Example 3.1.1Example 3.1.2Example 3.1.33.2、查找多個匹配項的函數Example 3.2.13.3、分割Example 3.3.1import re

0、前言Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

本篇筆記基于菜鳥教程以及該知乎教程,融入了自己的一些學習心得。Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

1、正則表達式模式Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

高亮處是我的補充,因為根據實際情況確實是能匹配到的
Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

這邊我就偷點懶了哈,直接截的是菜鳥教程的圖。Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

2、正則表達式修飾符 - 可選標志Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

2.1、re.IGNORECASE(re.I)Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

雖然第1節是常量,但我們必須先簡要提一下re.findall這個函數,因為它是貫穿這一節的函數。
re.findall(pattern, string, flag=0): 從字符串任意位置查找,返回一個列表。pattern是欲匹配的字符(串),string是查找源,flag是修飾符,默認是0Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

re.I的作用是忽略字符大小寫Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

text = "I'm Jasmine-Feng. My student number is No. 321432"pattern = r"Jasmine-FENG"print('Default: ', re.findall(pattern,text))print('Ignore upper/lower case: ', re.findall(pattern,text,flags=re.I))

N.B. pattern被賦了一個r字符串,這個r字符串的作用是避免轉義,r是raw的縮寫,也就是保持原樣的意思。可看這篇博文。一般來說,使用正則表達式都會用到這個r字符串。Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

Default: []Ignore upper/lower case: ['Jasmine-Feng']Process finished with exit code 0

在默認情況下,區分大小寫,找不到ENG;若不區分,則可以找到eng。Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

2.2、re.ASCII(re.A)Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

re.A的作用是只匹配ASCII碼支持的字符,那么具體指哪些字符呢?下圖來自百度百科。

漢字是不在這個里面的,所以如果修飾符是re.A的話就匹配不了漢字了哈~Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

text = "我是Jasmine-Feng. 我的學號是No. 321432"pattern = r"w+"print('Default: ', re.findall(pattern,text))print('ASCII: ', re.findall(pattern,text,flags=re.A))

w+的作用是匹配一個或多個字母數字下劃線漢字Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

Default: ['我是Jasmine', 'Feng', '我的學號是No', '321432']ASCII: ['Jasmine', 'Feng', 'No', '321432']Process finished with exit code 0

2.3、re.DOTALL(re.S)Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

在正則表達式模式中,.是用來Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

text = "我 是Jasmine-F eng. 我%的?學號是No. 321432"pattern = r'.*'print('Default: ', re.findall(pattern,text))print('DOTALL: ', re.findall(pattern,text,re.S))

.*的作用是匹配長度至少為0的字符(串),emmm,好像是句廢話?事實上,只要整段話不被換行符截斷,就可以得到整個字符串(外加一個空字符串)。Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

Default: ['我 是Jasmine-F', '', 'eng. 我%的?學號是No. 321432', '']DOTALL: ['我 是Jasmine-F eng. 我%的?學號是No. 321432', '']Process finished with exit code 0

2.4、re.MULTILINE(re.M)Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

$匹配定位到字符串末尾,^定位到字符串開頭,默認情況下,如果換行,是不能定位到新一行的行頭/尾的,而用 re.M修飾則可以,也就是多行模式。Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

text = "我 是Jasmine-F eng. 我%的? 學號是No. 321432"pattern = r'.$'pattern2 = r'^.'print('Default, end: ', re.findall(pattern, text))print('MULTILINE, end: ', re.findall(pattern, text, re.M))print('Default, start: ', re.findall(pattern2, text))print('MULTILINE, start: ', re.findall(pattern2, text, re.M))Default, end: ['2']MULTILINE, end: ['F', '?', '2']Default, start: ['我']MULTILINE, start: ['我', 'e', '學']Process finished with exit code 0

2.5、re.VERBOSE(re.X)Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

verbose是“詳實的、冗長的”意思,通過該修飾符可以在正則表達式中加入注釋。注意,是往pattern里面加,不是往text加!我一開始以為是可以往text加注釋,然后調試半天都得不到結果。。。Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

text = '朋友們好啊!我是xxxxxx拳掌門人xxx~'pattern = r'''朋友們 # 主語 好啊! # 謂語 '''print(re.findall(pattern, text,re.VERBOSE))['朋友們好啊!']Process finished with exit code 0

2.6、修飾符的疊加Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

使用|可以疊加修飾。Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

text = 'Hello everybody! 我是xxxxxx拳掌門人xxx~'pattern = r'BODY.*$'print(re.findall(pattern, text, re.I))print(re.findall(pattern, text, re.M))print(re.findall(pattern, text, re.M | re.I))[][]['body!']Process finished with exit code 0

3、正則表達式函數Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

3.1、查找單個匹配項的函數Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

函數功能search從任意位置開始搜索match從開頭搜索,不用完全匹配fullmatch從開頭搜索,必須完全匹配

其實我本來是寫了自己的例子的,但是瀏覽器給我誤關了,又沒保存(心態直接炸裂

以上就是筆記之 Python正則表達式的詳細內容,更多請關注少兒編程網其它相關文章!Ab1少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 亚洲视频在线一区 | 日韩三级不卡 | 亚洲精品在线播放 | 97成人在线| 国产精品免费一区二区 | 在线成人 | 欧美日韩综合视频 | 精品视频999 | 国产精品久久久久婷婷二区次 | 国产成人精品免费视频大全最热 | 成人性生活大片免费看一 | 午夜精品久久久久久久久久久久 | 欧美色资源 | 国产精品麻豆 | 亚洲精品一区二三区不卡 | 毛片免费观看网站 | 国产一区二区色 | 亚洲欧洲成人av每日更新 | 日韩精品久久 | 国产又黄又爽又刺激的视频 | 欧美经典一区 | 久久6视频| 天天综合一区 | heyzo久久 | 久久久免费精品 | 日产精品久久久久久久 | 免费视频一二三区 | 国产毛片精品 | 久久国产精品-国产精品 | 91精品国产综合久久福利软件 | 日本77777| 国产精品精品视频一区二区三区 | 99在线观看 | 午夜国产一区 | 午夜精品久久久久久久久久久 | 91精品国产成人 | 中文字幕一区二区三 | 亚洲国产欧美日韩 | 91福利资源站 | 国产专区视频 | 视频精品久久 |