1. 程式人生 > >正則表達式學習筆記

正則表達式學習筆記

下劃線 earch ear 匹配字符串 () 字符 劃線 arch 正則表達式

字符:

. 匹配除換行符外所有的字符

\w 匹配字母或 數字或 下劃線或漢子 大寫的相反

\d 匹配數字 大寫的相反

\s 匹配空格 大寫的相反

^ 匹配字符串的開頭

$ 匹配字符串的末尾

次數:

* 0-多次

+ 1到多次

? 0或1次

{n} 重復n此

{n,} 重復n到更多次

{n-p} 重復n-p次

match 匹配開頭 匹配成功 返回一個 不成功 返回None

無分組

origin = "hello alex bcd abcd lge acd 19"
n = re.match(\w+,origin)
print(n.group())

有分組

origin = "
hello alex bcd abcd lge acd 19" n = re.match(h(\w+).*(?P<n1>\d+),origin) print(n.groups()) print(n.groupdict())

search 瀏覽全局 匹配第一個 沒有返回None

無分組

有分組 同match

findall 匹配全局 獲取非重復的匹配列表 重復則返回最後一個 匹配規則有一個組 則以字符串形式返回組裏面匹配的內容 如果多個組 以列表形式返回

ret = 451alex12564 hej
r = re.findall(\d+,ret)
print(r)
origin 
= "hello alex bcd abcd lge acd 19" r = re.findall("a((\w*)c)(d)", origin) print(r) n = re.findall(\d\w\d,a2b3c4d5) l = re.findall(\d+\w\d+,a2b3c4d5) s = re.findall(\d+\w\d+,a2345b6543) print(r) print(n) print(l) print(s)

正則表達式學習筆記