日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python中re模块_python之re模块

發(fā)布時間:2024/9/27 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中re模块_python之re模块 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

python 中使用正則表達(dá)式需要引入re模塊,用來匹配處理字符串

如:

import re #第一步,要引入re模塊

a = re.findall("匹配規(guī)則", "要匹配的字符串") #第二步,調(diào)用模塊函數(shù)

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

1、普通字符和11個元字符:

普通字符匹配自身abcabc.匹配任意除換行符"\n"外的字符(在DOTALL模式中也能匹配換行符a.cabc

\轉(zhuǎn)義字符,使后一個字符改變原來的意思a\.c;a\\ca.c;a\c

*匹配前一個字符0或多次abc*ab;abccc

+匹配前一個字符1次或無限次abc+abc;abccc

?匹配一個字符0次或1次abc?ab;abc

^匹配字符串開頭。在多行模式中匹配每一行的開頭^abcabc

$匹配字符串末尾,在多行模式中匹配每一行的末尾abc$abc

|或。匹配|左右表達(dá)式任意一個,從左到右匹配,如果|沒有包括在()中,則它的范圍是整個正則表達(dá)式abc|defabc

def

{}{m}匹配前一個字符m次,{m,n}匹配前一個字符m至n次,若省略n,則匹配m至無限次ab{1,2}cabc

abbc

[]字符集。對應(yīng)的位置可以是字符集中任意字符。字符集中的字符可以逐個列出,也可以給出范圍,如[abc]或[a-c]。[^abc]表示取反,即非abc。所有特殊字符在字符集中都失去其原有的特殊含義。用\反斜杠轉(zhuǎn)義恢復(fù)特殊字符的特殊含義。a[bcd]eabe

ace

ade

()被括起來的表達(dá)式將作為分組,從表達(dá)式左邊開始沒遇到一個分組的左括號“(”,編號+1.分組表達(dá)式作為一個整體,可以后接數(shù)量詞。表達(dá)式中的|僅在該組中有效。(abc){2}a(123|456)cabcabc

a456c

2、預(yù)定義字符集(可以寫在字符集[...]中)

\d數(shù)字:[0-9]a\bca1c\D非數(shù)字:[^\d]a\Dcabc

\s匹配任何空白字符:[<空格>\t\r\n\f\v]a\sca c

\S非空白字符:[^\s]a\Scabc

\w匹配包括下劃線在內(nèi)的任何字字符:[A-Za-z0-9_]a\wcabc

\W匹配非字母字符,即匹配特殊字符a\Wca c

\A僅匹配字符串開頭,同^\Aabcabc

\Z僅匹配字符串結(jié)尾,同$abc\Zabc

\b匹配\w和\W之間,即匹配單詞邊界匹配一個單詞邊界,也就是指單詞和空格間的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。\babc\ba\b!bc空格abc空格a!bc

\B[^\b]a\Bbcabc

模塊函數(shù):

1、compile()

編譯正則表達(dá)式字符串,返回一個對象。該對象可以直接以? .? 的方式訪問模塊函數(shù)

格式:

re.compile(pattern,flags=0)

pattern: 編譯時用的表達(dá)式字符串。

flags 編譯標(biāo)志位,用于修改正則表達(dá)式的匹配方式,如:是否區(qū)分大小寫,多行匹配等。

2、match()

從字符串頭部開始匹配。//注:這個方法并不是完全匹配。當(dāng)pattern結(jié)束時若string還有剩余字符,仍然視為成功。想要完全匹配,可以在表達(dá)式末尾加上邊界匹配符'$'

格式:

re.match(pattern, string, flags=0)

3、search()

格式:

re.search(pattern, string, flags=0)

re.search函數(shù)會在字符串內(nèi)查找模式匹配,只要找到第一個匹配然后返回,如果字符串沒有匹配,則返回None。

4、findall()

re.findall遍歷匹配,獲取字符串中所有匹配的子串,返回一個列表。

格式:

re.findall(pattern, string, flags=0)

總結(jié)

以上是生活随笔為你收集整理的python中re模块_python之re模块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。