常用數字表達式
私信小編01.02.03.04 即可獲取不同的Python書籍PDF哦!早日入門!
d{n,}
匹配出字符串中整數至少出現n次
test = "hello 2019's world"
#將d{n,}中的n改成0,1,2,3,4分別試試運行結果
pattern = 'd{4,}'
re.findall(pattern, test)
['2019']
d{m,n}
匹配出字符串中的數字信息,該信息滿足整數出現m-n次。
test = "hello 2019's world"
#整數出現2-5次,也可以是1-7次。只要m<4, n>4即可
pattern = 'd{2,5}'
re.findall(pattern, test)
['2019']
校驗字符的表達式
[\u4e00-\u9fa5]+
匹配出字符串中的漢字
test = "親們,讓我們在2018一起學習Python_Language"
#匹配出test中的中文
pattern = '[\u4e00-\u9fa5]+'
re.findall(pattern, test)
['親們', '讓我們在', '一起學習']
[A-Za-z0-9]+
匹配出字符串中的英文和數字
test = "親們,讓我們在2018一起學習Python_Language"
#匹配出test中的英文和數字
pattern = '[A-Za-z0-9]+'
re.findall(pattern, test)
['2018', 'Python', 'Language']
.{m,n}
對某字符串進行匹配,匹配出m-n長度的所有字符串
test = "親們,讓我們在2018一起學習Python_Language"
#例子,匹配出test中長度在1-4所有的字符串
pattern = '.{1,4}'
re.findall(pattern, test)
['親們,讓', '我們在2', '018一', '起學習P', 'ytho', 'n_La', 'ngua', 'ge']
[A-Za-z]+
匹配出字符串中的英文字符,不考慮大小寫
test = "親們,讓我們在2018一起學習Python_Language"
#匹配出test中的英文字符,不考慮大小寫
pattern = '[A-Za-z]+'
re.findall(pattern, test)
['Python', 'Language']
[A-Z]+
匹配出字符串中的大寫英文字符
test = "親們,讓我們在2018一起學習Python_Language"
#匹配出test中大寫英文字符
pattern = '[A-Z]+'
re.findall(pattern, test)
['P', 'L']
[a-z]+
匹配出字符串中的小寫英文字符
test = "親們,讓我們在2018一起學習Python_Language"
#匹配出test中小寫英文字符
pattern = '[a-z]+'
re.findall(pattern, test)
['ython', 'anguage']
[A-Za-z0-9]+
匹配出字符串中的英文和數字信息
test = "親們,讓我們在2018一起學習Python_Language"
#匹配出test中的英文和數字信息
pattern = '[A-Za-z0-9]+'
re.findall(pattern, test)
['2018', 'Python', 'Language']
w+
識別以空格為間隔的字符串,得到其中的數字、字符、下劃線。例如
test = "親 們,讓 我 們 在 2018 一 起 學 習 Python"
pattern = 'w+'
re.findall(pattern, test)
['親', '們', '讓', '我', '們', '在', '2018', '一', '起', '學', '習', 'Python']
[\u4e00-\u9fa5A-Za-z0-9_]+
匹配出字符串中的中英文、數字和下劃線信息
test = "親們,讓我們!!在2018 一起學習Python_Language!"
#匹配出test中的中英文、數字和下劃線信息
pattern = '[\u4e00-\u9fa5A-Za-z0-9_]+'
re.findall(pattern, test)
['親們', '讓我們', '在2018', '一起學習Python_Language']
特殊需求表達式
郵箱
[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+.[a-zA-Z0-9_-]+ 匹配出字符串中的郵箱信息
#匹配出test中的郵箱信息
pattern = '[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+.[a-zA-Z0-9_-]+'
re.findall(pattern, test)
url
http://[w+.]+ 匹配出字符串中的域名信息
#匹配出test中的url信息
pattern = 'http://[w+.]+'
re.findall(pattern, test)
手機號
1[3|4|5|8][0-9]d{4,8} 匹配出字符串中的手機號碼信息
#匹配出test中的手機信息
pattern = '1[3|4|5|8][0-9]d{4,8}'
re.findall(pattern, test)
電話號碼
d{3}-d{8}|d{4}-d{7} 匹配出字符串中的電話號碼信息
#匹配出test中的電話信息
pattern = 'd{3}-d{8}|d{4}-d{7}'
re.findall(pattern, test)
日期格式
形如2018-09-11,d{4}-d{1,2}-d{1,2} 匹配出字符串中的日期信息。
#匹配出test中的日期信息
pattern = 'd{4}-d{1,2}-d{1,2}'
re.findall(pattern, test)
空行信息
[
s
]+ 匹配出字符串的空行,可以用該空行做一些操作。
pattern = '[
s
]+'
#使用空行去分割字符串
re.split(pattern, test)
pattern = '[
s
]+'
#將空行替換為空
re.sub(pattern, '', test)