匹配手機號
import
re
phoneRegex
=
re
.
compile
(
r
'''(
(\d{3}|\(\d{3}\))? # area code
(\s|-|.)? # separator
(\d{3}) # first 3 digits
(\s|-|.) # separator
(\d{4}) # last 4 digits
(\s*(ext|x|ext.)\s*(\d{2,5}))? # extension
)'''
,
re
.
VERBOSE
)
電話號碼從一個“可選的” 區號開始, 所以區號分組跟著一個問號。因為區號可能只是 3 個數字(即\d{3}), 或括號中的 3 個數字(即(\d{3})), 所以應該用管道符號連接這兩部分??梢詫@部分多行字符串加上正則表達式注釋# Area code,幫助你記憶(\d{3}|(\d{3}))?要匹配的是什么。
電話號碼分割字符可以是
空格(\s)、 短橫(-) 或句點(.)
, 所以這些部分也應該用管道連接。這個正則表達式接下來的幾部分很簡單: 3 個數字, 接下來是另一個分割符, 接下來是 4 個數字。最后的部分是可選的分機號,
包括任意數目的空格,接著 ext、 x 或 ext., 再接著 2 到 5 位數字。
匹配郵箱
emailRegex
=
re
.
compile
(
r
'''(
[a-zA-Z0-9._%+-]+ # username
@ # @ symbol
[a-zA-Z0-9.-]+ # domain name
(.[a-zA-Z]{2,4}) # dot-something
)'''
,
re
.
VERBOSE
)
E-mail 地址的用戶名部分是一個或多個字符,字符可以包括: 小寫和大寫字母、 數字、句點、 下劃線、 百分號、 加號或短橫??梢詫⑺羞@些放入一個字符分類:
[a-zA-Z0-9._%+-]
。
域名和用戶名用@符號分割,域名允許的字符分類要少一些,只允許字母、數字、句點和短橫: [a-zA-Z0-9.-]。最后是“dot-com”部分(技術上稱為“頂級域名”),它實際上可以是“dot-anything”。它有 2 到 4 個字符。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
