正規表示式

2021-09-25 23:58:39 字數 2375 閱讀 4743

python正規表示式的基礎

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

使用場景

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

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

比如,已知乙個列表:

​ 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"

])

假如存在a=「ab23fg5g67」,提取23,5,67,如何實現?

正則

>>

>

import re

>>

> a=

"ab23fg5g67"

>>

> m=r'[0-9]+'

>>

> num=re.findall(m,a)

>>

> num

['23'

,'5'

,'67'

]

字元功能.

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

匹配中列舉的字元

\d匹配數字(0-9)

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

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

\w\w取反 字元

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

+匹配前乙個字元出現1次多次或者無限次,直到出現一次

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

{m}匹配前乙個字元出現m次

{m,}

匹配前乙個字元至少出現m次

{m,n}

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

字元功能

^匹配字串開頭

$匹配字串結尾

\b匹配乙個單詞的邊界

\b匹配非單詞的邊界

匹配分組

字元功能

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

(ab)

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

\num

引用分組num匹配到的字串

(?p)

分組起別名

(?p=name)

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

引數說明:

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

re.groups([default=none]) tuple

作用:以元組形式返回全部分組截獲的字串

如果沒有成功匹配,返回乙個空元組

.

import re

m=re.match(

'.',

's')

print

(m.group())

#sm=re.match(

'.',

'd')

print

(m.group())

#dm=re.match(

'.',

'city'

)print

(m.group())

#cm=re.match(

'.',

'\n'

)print

(m.group())

#attributeerror: 'nonetype' object has no attribute 'group'

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

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

re.match()和re.search()的區別

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

非負整數 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...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...