加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
py19-reg.py 1.43 KB
一键复制 编辑 原始数据 按行查看 历史
eddiechow 提交于 2018-01-19 15:28 . init
# -*- coding:utf-8 -*-
"""正则表达式"""
__author__ = 'Eddie Chow'
import re
def is_valid_email(addr):
r = re.match(r'^[0-9a-zA-Z\_.]+@[0-9a-zA-Z\_].+(com|cn|me|org)$', addr)
if r:
return True
else:
return False
if __name__ == '__main__':
r = re.match(r'^\d{3}\-\d{3,8}', '010-12345')
print(r)
r = re.match(r'^\d{3}\s?\d{3,8}$', '010 12345')
print(r)
# 切分连续空格 ['a', 'b', 'c']
print(re.split(r'\s+', 'a b c'))
# 切分逗号或者连续空格 ['a', 'b', 'c', 'd', 'e']
print(re.split(r'[\s\,]+', 'a,b,c , d, e'))
# 切分逗号 连续空格 分号 ['a', 'b', 'c', 'd', 'e']
print(re.split(r'[\s\,\;]+', 'a,b;;c ; d, e'))
# 截取字符串
r = re.match(r'^(\d{3})-(\d{3,8})', '010-12345')
print(r.group(0), r.group(1), r.group(2))
# 正则默认是贪婪匹配,即尽可能多的匹配字符
# 1023000 要匹配结尾一共有几个零,贪婪模式下匹配不出来
print(re.match(r'^(\d+)(0*)$', '1023000').groups())
# ? 可以采用非贪婪模式(尽可能少的匹配)
print(re.match(r'^(\d+?)(0*)$', '1023000').groups())
print(is_valid_email('someone@gmail.com'))
print(is_valid_email('bill.gates@microsoft.com'))
print(is_valid_email('eddiechow@foxmail.com'))
print(is_valid_email('admin@eddiechow.me'))
print(is_valid_email('admin1@eddiechow.me'))
print(is_valid_email('1admin1@eddiechow.me'))
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化