Python正規表示式學習筆記(2)

2021-09-11 14:07:01 字數 2682 閱讀 8938

與大多數程式語言相同,正規表示式裡使用"「作為轉義字元,這就可能造成反斜槓困擾。假如你需要匹配文字中的字元」",那麼使用程式語言表示的正規表示式裡將需要4個反斜槓"\":前兩個和後兩個分別用於在程式語言裡轉義成反斜槓,轉換成兩個反斜槓後再在正規表示式裡轉義成乙個反斜槓。

python裡的原生字串很好地解決了這個問題,有了原始字串,你再也不用擔心是不是漏寫了反斜槓,寫出來的表示式也更直觀。

#示例:

>>>import re

>>> mm = "c:\\a\\b\\c"

>>> mm

'c:\\a\\b\\c'

>>> print(mm)

c:\a\b\c

>>> print(mm)

c:\a\b\c

>>> re.match("c:\\\\",mm).group()

'c:\\'

>>> ret = re.match("c:\\\\",mm).group()

>>> print(ret)

c:\>>> ret = re.match("c:\\\\a",mm).group()

>>> print(ret)

c:\a

>>> ret = re.match(r"c:\\a",mm).group()

>>> print(ret)

c:\a

>>> ret = re.match(r"c:\a",mm).group()

traceback (most recent call last):

file "", line 1, in attributeerror: 'nonetype' object has no attribute 'group'

#相關格式字元

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

+匹配前乙個字元出現1次或者無限次,即至少有1次

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

匹配前乙個字元出現m次

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

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

字元功能

^匹配字串開頭

$匹配字串結尾

\b匹配乙個單詞的邊界

\b匹配非單詞邊界

#示例1:$

import re

#正確的位址

ret = re.match("[\w]@163\.com", "[email protected]")

ret.group()

#錯誤的位址

ret = re.match("[\w]@163\.com", "[email protected]")

ret.group()

#通過$來確定末尾

ret = re.match("[\w]@163\.com$", "[email protected]")

ret.group()

#示例2:\b

>>> re.match(r".*\bver\b", "ho ver abc").group()

'ho ver'

>>> re.match(r".*\bver\b", "ho verabc").group()

traceback (most recent call last):

file "", line 1, in attributeerror: 'nonetype' object has no attribute 'group'

>>> re.match(r".*\bver\b", "hover abc").group()

traceback (most recent call last):

file "", line 1, in attributeerror: 'nonetype' object has no attribute 'group'

>>>

#示例3:\b

>>> re.match(r".*\bver\b", "hoverabc").group()

'hover'

>>> re.match(r".*\bver\b", "ho verabc").group()

traceback (most recent call last):

file "", line 1, in attributeerror: 'nonetype' object has no attribute 'group'

>>> re.match(r".*\bver\b", "hover abc").group()

traceback (most recent call last):

file "", line 1, in attributeerror: 'nonetype' object has no attribute 'group'

>>> re.match(r".*\bver\b", "ho ver abc").group()

traceback (most recent call last):

file "", line 1, in attributeerror: 'nonetype' object has no attribute 'group'

正規表示式學習筆記 python

import re re.findall pattern,string,flags 0 pattern 指的是,正規表示式匹配規則 string 指的是,要進行匹配的字串 flags 指的是,可選引數,進行特定條件的匹配,如能讓匹配時不區分大小寫的re.i和能讓元字元.匹配 n的re.s match...

python正規表示式 學習筆記

正規表示式不僅僅適用於python,而且在其他語言中也是很重要的一部分,本文旨在讓python小白對於正規表示式有乙個整體的認識和體驗。什麼是正規表示式?它是嵌入python的微小的 高度專業化的語言 它是處理字串的強大工具。正規表示式能幹什麼?它能對字串進行匹配 切割 替換 獲取。什麼是元字元?特...

python正規表示式學習筆記

正規表示式是乙個特殊的字串行,它能幫助你方便的檢查乙個字串是否與某種模式的匹配 re.mach嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match 就返回none.函式語法 re.match pattern,string,flads 0 函式引數說明 匹配的正規表示式 patt...