pythonre函數(shù) python rectangle函數(shù)

python中re.compile函數(shù)的使用

python通過re模塊提供對正則表達(dá)式的支持。使用re的一般步驟是

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比索縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式索縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋索縣地區(qū)。費用合理售后完善,十年實體公司更值得信賴。

1.先使用re.compile()函數(shù),將正則表達(dá)式的字符串形式編譯成Pattern實例。

2.然后使用Pattern實例處理文本并獲得匹配結(jié)果(一個match實例),最后使用Match實例獲得信息,進(jìn)行其他的操作。

舉一個簡單的例子,在尋找一個字符串中所有的英文字符:

import re

pattern = re.compile(‘[a-zA-Z]')

result = pattern.findall('as3SiOP')

print result

Python 標(biāo)準(zhǔn)庫模塊 - re

re模塊被稱為正則表達(dá)式,其作用為,創(chuàng)建一個“規(guī)則表達(dá)式”,用于驗證和查找符合規(guī)則的文本,廣泛用于各種搜索引擎、賬戶密碼的驗證等。

預(yù)定義字符:

\d:匹配所有的十進(jìn)制數(shù)字0-9

\D:匹配所有的非數(shù)字,包含下劃線

\s:匹配所有空白字符(空格、TAB等)

\S:匹配所有非空白字符,包含下劃線

\w:匹配所有字母、漢字、數(shù)字a-z A-Z 0-9

\W:匹配所有非字母、漢字、數(shù)字,包含下劃線

特殊字符:

$:匹配一行的結(jié)尾(必須放在正則表達(dá)式最后面)

^:匹配一行的開頭(必須放在正則表達(dá)式最前面)

*:前面的字符可以出現(xiàn)0次或多次(0~無限)

+:前面的字符可以出現(xiàn)1次或多次(1~無限)

?:變"貪婪模式"為"勉強模式",前面的字符可以出現(xiàn)0次或1次

.:匹配除了換行符"\n"之外的任意單個字符

|:兩項都進(jìn)行匹配

[ ]:代表一個集合,有如下三種情況

[abc]:能匹配其中的單個字符

[a-z0-9]:能匹配指定范圍的字符,可取反(在最前面加入^)

[2-9] [1-3]:能夠做組合匹配

{ }:用于標(biāo)記前面的字符出現(xiàn)的頻率,有如下情況:

{n,m}:代表前面字符最少出現(xiàn)n次,最多出現(xiàn)m次

{n,}:代表前面字符最少出現(xiàn)n次,最多不受限制

{,m}:代表前面字符最多出現(xiàn)n次,最少不受

{n}:前面的字符必須出現(xiàn)n次

pythonre字符串為特定字符和數(shù)字組成

pythonre字符串為特定字符和數(shù)字組成

我們講一下字符串類型和數(shù)字類型,這兩個Python中基本數(shù)據(jù)類型之間的轉(zhuǎn)換。也就是說字符串類型可以轉(zhuǎn)為數(shù)字類型,數(shù)字類型也可以轉(zhuǎn)為字符串類型。

數(shù)據(jù)類型差異

對于不同的數(shù)據(jù)類型,代碼的行為有所不同。如下圖所示,圖中的print(5 + 10)是數(shù)值計算,而print('5' + '10')是字符串連接。

如果將字符串類型和數(shù)據(jù)類型連接在一起,則會發(fā)生錯誤。

數(shù)字類型轉(zhuǎn)換為字符串類型

數(shù)字類型轉(zhuǎn)換為字符串類型需要用到str()函數(shù)。

str()函數(shù):將對象轉(zhuǎn)化為適于人閱讀的形式。返回一個對象的string格式。

語法如下所示:

class str(object='')

object -- 對象

如下圖所示,變量num是數(shù)字類型,我們使用str()函數(shù)將這個數(shù)字類型轉(zhuǎn)換成了字符串類型。

字符串類型轉(zhuǎn)換為數(shù)字類型

字符串類型轉(zhuǎn)換為數(shù)字類型需要用到int() 函數(shù)。

int() 函數(shù):用于將一個字符串或數(shù)字轉(zhuǎn)換為整型。

語法如下所示:

class int(x, base=10)

x -- 字符串或數(shù)字

base -- 進(jìn)制數(shù),默認(rèn)十進(jìn)制

x -- 字符串或數(shù)字

base -- 進(jìn)制數(shù),默認(rèn)十進(jìn)制

如下圖所示,str1是字符串類型,使用int()函數(shù)將這個字符串類型的變量轉(zhuǎn)換成了整型,最后與10相加等于15。

python中re庫的常見用法

. 匹配除換行符外的任意字符

\d 匹配數(shù)字

\D 匹配非數(shù)字

\w 匹配數(shù)字字母下劃線,支持中文

\W 小寫w的反集

[abc] 匹配abc中任意一個

[a-f] 匹配字母a到f中的任意一個

x|y 匹配x或者y

^ 匹配字符串的開頭

$ 匹配字符串的結(jié)尾

{3,5} 匹配次數(shù),最少3個,最多5個

{3,} 至少匹配3次

* 匹配前一個字符,0次或多次

+ 匹配前一個字符,1次或多次

? 當(dāng)前面不是數(shù)量表達(dá)式時,代表匹配0次或1次

舉個栗子:

findall()函數(shù)的作用是匹配所有符合條件字符串,并以列表形式返回

由于.是匹配除換行符外的所有字符,{3,5} 匹配次數(shù),最少3個,最多5個,在默認(rèn)的貪婪模式下會匹配最多的字符,所以在列表中,字母a開頭的字符串后面都跟了5個字符。

可以看到在非貪婪模式下,列表中的每一項都匹配最少的字符數(shù)。

從前往后,匹配到符合條件的最短的每一個字符串

邊界字符:

^ 限定開頭

$ 限定結(jié)尾

匹配分組:

() 提取出來的只有括號里匹配到的部分

上文中已經(jīng)用到這個方法了,返回匹配到的字符串列表,如果沒有匹配到的內(nèi)容,則返回空列表。

flags參數(shù)是可以省略的,不省略時代表具有其他特殊的功能,如忽略大小寫,忽略換行符等,re.S代表匹配時忽略換行符

re.search()和re.findall()的參數(shù)是一樣的,只是返回結(jié)果不同,如果匹配到了,就返回該結(jié)果的正則表達(dá)式對象;如果沒有匹配到,則返回None

使用re.search()返回匹配到的第一個字符串的正則表達(dá)式對象,找到了就會停止匹配。因此這個函數(shù)比較適合在一個大文本中找第一個出現(xiàn)的字符串。

若想讓這個字符串展示出來,還需要借助group()函數(shù)。

舉個栗子:

這個函數(shù)的作用是將正則表達(dá)式編譯為一個正則表達(dá)式對象,如果要多次使用這個正則表達(dá)式的話,可以先編譯,然后復(fù)用,使程序更高效一些,對這個對象繼續(xù)使用.match(string)就可以顯示匹配到的正則表達(dá)式對象,后續(xù)如果想要獲取具體內(nèi)容的話,和上面是一眼國的,直接使用group(0)就可以啦。

如果不考慮復(fù)用的話,和re.mach(pattern, string)的效果是一樣的。

從運行結(jié)果也可以看出,re.match()和re.search()的區(qū)別,雖然二者都會返回匹配到的正則表達(dá)式對象,但是re.match()是從字符串的最開始位置開始匹配的,如果最開始的字符不匹配則會直接返回None;而re.search()則會一直往后找,直到找到第一個符合條件的字符串。

re.sub()函數(shù)用于替換字符串中的匹配項

舉個栗子:

將所有數(shù)字替換為了一個空格。

網(wǎng)頁名稱:pythonre函數(shù) python rectangle函數(shù)
文章位置:http://muchs.cn/article42/dosjhec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)