精品一区二区三区影院在线午夜_天天躁日日躁狠狠躁AV麻豆_国产午夜福利短视频_中文字幕乱偷无码AV先锋蜜桃_久久精品一二区东京热_国产成人亚洲日韩欧美久久久,国产成人精品久久一区二区三区

五5-2Python常用正則表達式

1、常用正則表達式

Python支持的正則表達式元字符和語(yǔ)法:

正則表達式

代表的匹配字符

[0-9]

0123456789任意之一

[a-z]

小寫(xiě)字母任意之一

[A-Z]

大寫(xiě)字母任意之一

\d

等同于[0-9]

\D

等同于[^0-9]匹配非數字

\w

等同于[a-z0-9A-Z_]匹配大小寫(xiě)字母、數字和下劃線(xiàn)

\W

等同于[^a-z0-9A-Z_]等同于上一條取非

正則表達式里的元字符及其作用

元字符

說(shuō)明

.

代表任意字符

|

邏輯或操作符

[ ]

匹配內部的任一字符或子表達式

[^]

對字符集和取非

-

定義一個(gè)區間

\

對下一字符取非(通常是普通變特殊,特殊變普通)

*

匹配前面的字符或者子表達式0次或多次

*?

惰性匹配上一個(gè)

+

匹配前一個(gè)字符或子表達式一次或多次

+?

惰性匹配上一個(gè)

?

匹配前一個(gè)字符或子表達式0次或1次重復

{n}

匹配前一個(gè)字符或子表達式

{m,n}

匹配前一個(gè)字符或子表達式至少m次至多n次

{n,}

匹配前一個(gè)字符或者子表達式至少n次

{n,}?

前一個(gè)的惰性匹配

^

匹配字符串的開(kāi)頭

\A

匹配字符串開(kāi)頭

$

匹配字符串結束

[\b]

退格字符

\c

匹配一個(gè)控制字符

\d

匹配任意數字

\D

匹配數字以外的字符

\t

匹配制表符

\w

匹配任意數字字母下劃線(xiàn)

\W

不匹配數字字母下劃線(xiàn)

2 re正則對象和正則匹配效率比較

re模塊

正則表達式是一個(gè)特殊的字符序列,它能幫助你方便的檢查一個(gè)字符串是否與某種模式匹配。

re 模塊使 Python 語(yǔ)言擁有全部的正則表達式功能。

compile 函數根據一個(gè)模式字符串和可選的標志參數生成一個(gè)正則表達式對象。該對象擁有一系列方法用于正則表達式匹配和替換。

re模塊也提供了與這些方法功能完全一致的函數,這些函數使用一個(gè)模式字符串做為它們的第一個(gè)參數。

re模塊是python中處理正則表達式的一個(gè)模塊,通過(guò)re模塊的方法,把正則表達式pattern編譯成正則對象,以便使用正則對象的方法。

正則匹配時(shí),優(yōu)先編譯成正則對象,然后進(jìn)行匹配,程序的執行效率高。

3 編譯正則對象

正則匹配字符‘r’

r表示raw的簡(jiǎn)稱(chēng)。raw string意思是原生字符,這個(gè)字符串中間的特殊字符不用轉義

如表示'\n',可以這樣:r'\n' 或者'\\n'

1、re.compile([pattern[,flags]])

這個(gè)方法就是把字符串的正則表達式編譯成正則對象,第二個(gè)flag是匹配模式,取值可以使用按位或運算符"|"表示同時(shí)生效。如:re.I|re.M,flag的可選項有:

re.I(re.IGNORECASE):忽略大小寫(xiě)

M(MULTILINE):多行模式,改變'^'和'$'的行為

S(DOTALL):點(diǎn)任意匹配模式,改變'.'的行為

X(VERBOSE):詳細模式。這個(gè)模式下增長(cháng)表達式可以是多行,忽略空白字符,并可以加入注釋?zhuān)旅鎯蓚€(gè)正則是等效的

a = re.compile(r"""\d + # the integral part

\. # the decimal point

\d * # some fractional digits""", re.X)

b = re.compile(r"\d+\.\d*")

岢岚县| 慈利县| 金塔县| 大宁县| 武安市| 湘乡市| 繁峙县| 博爱县| 永和县| 信丰县| 信宜市| 阳新县| 阳曲县| 合肥市| 通辽市| 富平县| 汶川县| 汤原县| 凤庆县| 长丰县| 桐柏县| 邵阳市| 峨眉山市| 尼勒克县| 马鞍山市| 运城市| 滦南县| 长治县| 游戏| 铅山县| 自贡市| 皋兰县| 孝昌县| 桐庐县| 巫溪县| 文登市| 山阴县| 呈贡县| 鸡西市| 朝阳市| 茌平县|