Python正則表達(dá)式中flags參數(shù)的實例詳解
flags參數(shù)
re.I
IGNORECASE
忽略字母大小寫re.L
LOCALE
影響 “w, “W, “b, 和 “B,這取決于當(dāng)前的本地化設(shè)置。re.M
MULTILINE
使用本標(biāo)志后,‘^’和‘$’匹配行首和行尾時,會增加換行符之前和之后的位置。re.S
DOTALL
使 “.” 特殊字符完全匹配任何字符,包括換行;沒有這個標(biāo)志, “.” 匹配除了換行符外的任何字符。re.X
VERBOSE
當(dāng)該標(biāo)志被指定時,在 RE 字符串中的空白符被忽略,除非該空白符在字符類中或在反斜杠之后。
它也可以允許你將注釋寫入 RE,這些注釋會被引擎忽略;
注釋用 “#”號 來標(biāo)識,不過該符號不能在字符串或反斜杠之后。
忽略大小寫
import re text = '我愛Python我愛python' pat1 = 'p' # search r1 = re.findall(pattern=pat1, string=text, flags=re.I) print(r1)
[‘P’, ‘p’]
多行模式
import re text = '我愛數(shù)學(xué)\n我愛Python\n我愛python' pat1 = '^我' # search r1 = re.findall(pattern=pat1, string=text) r2 = re.findall(pattern=pat1, string=text, flags=re.M) print(r1) print(r2)
[‘我’]
[‘我’, ‘我’, ‘我’]
匹配任何字符
import re text = ''' 我愛Python 我愛pandas ''' pat1 = '.我' # search r1 = re.findall(pattern=pat1, string=text, flags=re.S) print(r1) r2 = re.findall(pattern=pat1, string=text) print(r2)
[’\n我’, ‘\n我’]
[]
補充:正則表達(dá)式中的flags
MULTILINE,多行模式, 改變 ^ 和 $ 的行為
In [63]: s Out[63]: 'first line\nsecond line\nthird line' In [64]: pattern=re.compile(r'^\w+') In [65]: re.findall(pattern,s) Out[65]: ['first'] In [67]: pattern=re.compile(r'^\w+',re.M) In [68]: re.findall(pattern,s) Out[68]: ['first', 'second', 'third']
re.S DOTALL,此模式下 '.' 的匹配不受限制,可匹配任何字符,包括換行符,也就是默認(rèn)是不能匹配換行符
In [62]: s = '''first line ...: second line ...: third line''' In [71]: regex=re.compile('.+',re.S) In [73]: regex.findall(s) Out[73]: ['first line\nsecond line\nthird line'] In [74]: regex=re.compile('.+') In [75]: regex.findall(s) Out[75]: ['first line', 'second line', 'third line']
re.X VERBOSE,冗余模式, 此模式忽略正則表達(dá)式中的空白和#號的注釋
email_regex = re.compile("[\w+\.]+@[a-zA-Z\d]+\.(com|cn)") email_regex = re.compile("""[\w+\.]+ # 匹配@符前的部分 @ # @符 [a-zA-Z\d]+ # 郵箱類別 \.(com|cn) # 郵箱后綴 """, re.X)
總結(jié)
到此這篇關(guān)于Python正則表達(dá)式中flags參數(shù)的文章就介紹到這了,更多相關(guān)Python正則表達(dá)式flags參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PyQt5每天必學(xué)之QSplitter實現(xiàn)窗口分隔
這篇文章主要介紹了PyQt5每天必學(xué)之窗口分隔,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04python利用pymysql和openpyxl實現(xiàn)操作MySQL數(shù)據(jù)庫并插入數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了如何使用Python連接MySQL數(shù)據(jù)庫,并從Excel文件中讀取數(shù)據(jù),將其插入到MySQL數(shù)據(jù)庫中,有需要的小伙伴可以參考一下2023-10-10windows下安裝Python的XlsxWriter模塊方法
今天小編就為大家分享一篇windows下安裝Python的XlsxWriter模塊方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05nlp自然語言處理學(xué)習(xí)CBOW模型類實現(xiàn)示例解析
這篇文章主要為大家介紹了nlp自然語言處理學(xué)習(xí)CBOW模型類實現(xiàn)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2022-04-04Python一行代碼實現(xiàn)ChatGPT接入微信機器人
這篇文章主要為大家介紹了Python一行代碼實現(xiàn)ChatGPT接入微信機器人示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03