例:判斷是否是手機號碼
未採用正則表達式
re模塊介紹
常用函數
- re.match()函數:掃描整個字符串,返回從起始位置成功的匹配
- 語法:re.match(pattern, string, flags=0)
- pattern 匹配的正則表達式;string 要匹配的字符串;flags 標誌位,用於控制正則表達式的匹配方式,常見值如下:(re.I 忽略大小寫;re.M 多行匹配)
- re.search()函數:掃描整個字符串,並返回第一個成功的匹配(語法同上)
- findall()函數:掃描整個字符串,並返回結果列表(語法同上)
匹配單個字符
- . 匹配除換行符以外的任意字符
- [123abc] []是字符集和,表示匹配方括號中所包含的任意一個字符
- [^ Mark] 匹配除了 Mark 這幾個字母以外的所有字符,中括號裡的 ^ 稱為脫字符,表示不匹配集合中的字符
- \d 匹配數字,效果同 [0-9]
- \D 匹配非數字字符,效果同 [^0-9]
- \w 匹配數字、字母和下劃線,效果同 [0-9a-zA-Z_]
- \W 匹配非數字、字母和下劃線,效果同 [^0-9a-zA-Z_]
- \s 匹配任意的空白符(空格、換行、回車、換頁、製表),效果同 [ \n\r\f\t]
- \S 匹配任意的非空白符,效果同 [^ \n\r\f\t]
代碼塊
# 對 * 進行轉義,進行非貪婪匹配print(re.findall(r"//*.*?/*/", r"/* one */ /* two */ ")) # ['/* one */', '/* two */']
大家可以去寫一下關於 QQ 、郵箱、電話、用戶名、密碼、IP地址、URL的正則表達式來練下手。
是不是很強大,私信小編007即可獲取數十套PDF哦!
閱讀更多 繁華落盡and曲終人散 的文章