0802 正規表示式

2021-09-25 21:13:05 字數 2068 閱讀 6412

python正規表示式的基礎

正規表示式,又稱規則表示式**。**(英語:regular expression,在**中常簡寫為regex、regexp或re),電腦科學的乙個概念。正規表示式通常被用來檢索、替換那些符合某個模式(規則)的文字。

在python中使用正則需要匯入re

import re
首先我們來看兩個例子來體驗一下正規表示式的威力吧:

引入案例1

比如,已知乙個列表:

​ li = [「chinese」, 「china」, 「english」, 「britain」, 「canada」, 「new zealand」]

找出以ch開頭的字串。

# 法1

li =

["chinese"

,"china"

,"english"

,"britain"

,"canada"

,"new zealand"

]lt =

for i in li:

if i[0:

2]=="ch"

:print

(lt)

# 法2

li =

["chinese"

,"china"

,"english"

,"britain"

,"canada"

,"new zealand"

]print

([i for i in li if i[0:

2]=="ch"

])

找出數字

import re

a ='ab23fd5g67'

m = r'[0-9]+'

num = re.findall(m, a)

print

(num)

# ['23', '5', '67']

字元功能.

匹配任意乙個字元(除了\n)

匹配中列舉的字元

\d匹配數字(0-9)

\d匹配非數字(\d取反)

\w匹配單詞字元, a-z, a-z, 0-9, _

\w\w取反

引數說明:

re.group([group1, ...])字串或者元組

re.groups([default=none]) tuple

import re

m = re.match(

'.',

'city'

)print

(m.group())

m = re.match(

'[cc]'

,'city'

)print

(m.group())

m = re.match(

'[0-9]'

,'156'

)print

(m.group())

cc1

字元功能*

匹配前乙個字元出現0次多次或者無限次,可有可無,可多可少

+匹配前乙個字元出現一次多次或者無限次,知道出現一次

?匹配前乙個字元出現一次或者0次,要麼有一次,要麼沒有

匹配前乙個字元出現m次

匹配前乙個字元出現m次

匹配前乙個字元出現m到n次

字元功能

^匹配字串開頭

$匹配字串的結尾

\b匹配乙個單詞的邊界

\b匹配非單詞邊界

字元功能

|匹配左右任意乙個表示式

(ab)

將括號中的任意字元作為乙個分組

\num

引用分組num匹配到的字串

(?p)

分組起別名

(?p=name)

引用別名為name分組匹配到的字串

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

re.finfiter()

day 0802 正規表示式

正規表示式,又稱規則表示式 英語 regular expression,在 中常簡寫為regex regexp或re 電腦科學的乙個概念。正規表示式通常被用來檢索 替換那些符合某個模式 規則 的文字。正規表示式,又稱為 使用場景 在python中使用正則需要匯入re包 import re首先我們來看...

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...