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...