正則表達式學習筆記
阿新 • • 發佈:2017-11-18
下劃線 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)
正則表達式學習筆記