Python學習之路(八)正規表示式

2021-10-02 08:26:51 字數 3147 閱讀 1273

1、 概述

python裡面的正規表示式和其它語言的正規表示式基本一致。

在python裡面我們使用re模組進行正則的匹配查詢等的相關操作…

2、簡單使用

import re # 匯入re模組

result = re.

match

(r'hello'

,'hellow'

)if result is not none:

print

( result.

group()

)else

:print

('no'

)

3、匹配單個字元

單個字元又叫元字元,所謂匹配單個字元(元字元)指的的是一次只能匹配乙個字元,各個字元含義如下:

#匹配:這裡有數字後面必須有 數字0到9裡面的任意乙個

# 只能匹配乙個

result1 = re.

match

('這裡有數字\d'

,'這裡有數字4'

)# \w可以匹配中文

result2 = result1 = re.

match

('22\w'

,'22哈哈'

)if result is not none:

print

( result.

group()

)else

:print

('no'

)的作用是匹配裡面列舉的字元:

#匹配小寫字母 xyz其中的乙個,列印結果:a

result1 = re.

match

('[xyz]'

,'x'

)#匹配小寫字母 a到z,列印結果:a

result1 = re.

match

('[a-z]'

,'a223'

)#乙個[

]只能匹配乙個:列印結果:a

result1 = re.

match

('[a-z0-9]'

,'a223'

)#乙個[

]只能匹配乙個:列印結果:a2

result1 = re.

match

('[a-z][0-9]'

,'a223'

)

4、匹配多個字元

上面我們匹配單個字元的例子每次只可匹配乙個。如果我們要匹配多個字元,使用量詞修飾。量詞用於修飾元字元,如下:

星號 * 使用,星號表示前面的元字元 可有可無,可以是1次或是多次

#結果:這是測試

result1 = re.

match

('[0-9]*這是測試'

,'這是測試'

)#結果:6這是測試

result1 = re.

match

('[0-9]*這是測試'

,'6這是測試'

)#結果:666這是測試

result1 = re.

match

('[0-9]*這是測試'

,'666這是測試'

)其它修飾符的使用基本和*一樣

注意:

判斷是否是手機號:以1開頭,並且10個數字結尾

result1 = re.

match

('^1[0-9]$'

,'13212345678'

)如果不寫^和結尾,這樣也會匹配

result1 = re.

match

('1[0-9]'

,'13212345678bbbb'

)

5、匹配分組:

# 匹配出163郵箱、qq郵箱、126郵箱,

4到8個字元

result1 = re.

match

(r'\w@(qq|163|126)'

,'[email protected]'

)#分組和\number的綜合案例

labels =["

",""

)ret.

group()

​ret = re.

match

(r".*"

,"www.sixstar.cn")

ret.

group

()

6、re模組的search、findall、sub

ret = re.

search

(r"\d+"

,"閱讀次數為 9999"

)ret = re.

findall

(r"\d+"

,"python = 9999, c = 7890, c++ = 12345"

)ret = re.

sub(r"\d+"

,'998'

,"python = 997"

)#coding=utf-8

import re

​def add

(temp)

: strnum = temp.

group()

num =

int(strnum)+1

return

str(num)

​ret = re.

sub(r"\d+"

, add,

"python = 997"

)print

(ret)

​ret = re.

sub(r"\d+"

, add,

"python = 99"

)print

(ret)

python正則表達學習

python替換 主要是利用 python 的正則表達,python的正則表達功能比較強大。我就介紹下我經常用的幾個方法。可能說的詳細,如果要深入研究的話。還是 要去看下python的文件了.廢話不多說。馬上開始介紹 一般我會用re.compile來建立乙個正則物件。python 文件上介紹好象這個...

js小白之路(八) 正規表示式

正規表示式 regents。專門驗證字串中字元出現的規則的定義規則,若不符合規則,提示錯誤。寫在 中 備選字元 1,2,3 表示輸入1 2 3都對,乙個只能代表一位字元的匹配規則,幾位數就有幾個。例如手機號的匹配 var reg 1 3456789 0123456789 0123456789 012...

python之路 正規表示式

正規表示式 是乙個字串行,它能幫助你方便的檢查乙個字串是否與某種模式匹配,它的設計思想是用一種描述性的語言來給字串定義乙個滾則,凡是符合規則的字串,我們就認為它 匹配了 否則,該字串就是 不合法的 在python中使用正規表示式匯入,import re 模組 re的匹配語法有以下幾種 1 re.ma...