Python正则表达式学习记录
常用的命令: http://www.runoob.com/python/python-reg-expressions.html
使用中相关注意问题:
1. 中括号里的表示从N到M需要用横线‘-’, 而大括号里表示从N-M需要用逗号‘,’,如:
【0-9】:表示匹配0-9之间的数字
【0-9】{3,8}:表示匹配3到8个0-9之间的数字
2. 一些字符符号,被中括号包含的时候,就表示匹配相同的字符\符号,如
r = r'.', 这个正则表达式匹配的是任意一个字符,包含数字,字母,字符

r1 = r'[.]' 这个正则表达式匹配的是一个点‘.’

实例:编写一个验证email地址的正则表达式
# _*_ coding:utf-8_*_
import re # 导入Python正则表达式模块 class IsValidEmail:
def is_valid_email(self, addr):
'''
定义正字表达式
^:以。。开头
[a-zA-Z0-9]:包含一个字符或者数字
[a-zA-Z0-9_.]+:包含至少一个字符或者一个数字或者下划线或者点号'.'的字符串
{n}表示前面定义的字符的长度,包括n个
:param addr:需要验证的address
:return: 合法返回True,否则返回False
'''
r = r'(^[a-zA-Z0-9][a-zA-Z0-9_.]+([a-zA-Z0-9])@[a-zA-Z0-9]+(.[a-zA-Z]{3})$)'
try:
if re.match(r, addr):
print('address: %s is ok' % addr)
return True
else:
print('address: %s is not valid' % addr)
return False
except ValueError:
print('please input a email address') if __name__ == '__main__':
d = IsValidEmail()
assert(d.is_valid_email('sss@163.com'))
assert(d.is_valid_email('someone@gmail.com'))
assert(d.is_valid_email('bill.gates@microsoft.com'))
assert not(d.is_valid_email('bob#example.com'))
assert not(d.is_valid_email('mr-bob@example.com'))
assert not(d.is_valid_email('sandytest@@163.com'))
Python正则表达式学习记录的更多相关文章
- Python正则表达式学习摘要及资料
摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...
- Python 正则表达式学习
摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2, ...
- Python 正则表达式学习摘要及资料
来源:Michael_翔_ 摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会 ...
- JS正则表达式学习记录
JS:正则表达式学习记录 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- Python 正则表达式学习笔记
本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...
- 7.Python 正则表达式学习笔记
本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...
- Python正则表达式 学习笔记
python第一个正则表达式 1. import re : python正则表达式模块 2. 第一个正则表达式 re.compile(r'imooc') pattern.match('imooc py ...
- Python爬虫学习记录【内附代码、详细步骤】
引言: 昨天在网易云课堂自学了<Python网络爬虫实战>,视频链接 老师讲的很清晰,跟着实践一遍就能掌握爬虫基础了,强烈推荐! 另外,在网上看到一位学友整理的课程记录,非常详细,可以优先 ...
- python爬虫学习记录
爬虫基础 urllib,urllib2,re都是python自带的模块 urllib,urllib2区别是urllib2可以接受一个Request类的实例来设置url请求的headers,即可以模拟浏 ...
随机推荐
- DevExpress WPF v18.2新版亮点(五)
买 DevExpress Universal Subscription 免费赠 万元汉化资源包1套! 限量15套!先到先得,送完即止!立即抢购>> 行业领先的.NET界面控件2018年第 ...
- DevExpress WinForms v18.2新版亮点(八)
买 DevExpress Universal Subscription 免费赠 万元汉化资源包1套! 限量15套!先到先得,送完即止!立即抢购>> 行业领先的.NET界面控件2018年第 ...
- jmeter中操作数据库
jmeter是如何操作数据库的? 步骤一:导入jdbc的jar包,jmeter本身不能直接连接mysql,所以需要导入第三方的jar包来连接mysql 点击测试计划,添加classpath,选择mys ...
- 框架:初识Spring
Spring篇 第一章.Spring简介 一.Spring的体系结构 1.介绍 Spring有20多个的模块,这些模块分布与核心容器(Core Container).数据访问/集成(Data Acce ...
- Flask源码阅读-第四篇(flask\app.py)
flask.app该模块2000多行代码,主要完成应用的配置.初始化.蓝图注册.请求装饰器定义.应用的启动和监听,其中以下方法可以重点品读和关注 def setupmethod(f): @setupm ...
- 基于ArduinoLeonardo板子的BadUSB攻击实战
0X00 前言 在Freebuf上许多同学已经对HID攻击谈了自己的看法,如维克斯同学的<利用Arduino快速制作Teensy BadUSB>无论从科普还是实践都给我们详尽的描述了Bad ...
- python 时间格式化
2018-10-25 17:49:51 监控软件 原始 2018-10-2517:49:51 切割后 2018/10/25 17:49:51 格式化后 shijian = ' '.join(respo ...
- Python学习笔记第二十三周(Flask架构)
目录: 一.变量引用 内容: 备注:PyCharm小技巧,comm+alt+l 自动修改格式,comm+alt+return 向上添加新行 一.变量引用 1.url生成 from flask im ...
- phpstorm使用zen coding 快速编辑补全html/css代码
百科定义: 使用仿CSS选择器的语法来快速开发HTML和CSS ——由Sergey Chikuyonok开发. Zen Coding由两个核心组件组成:一个缩写扩展器(缩写为像CSS一样的选择器)和上 ...
- vim 删除
shift + $ :光标往后 shift + ^ :光标往前 shift + D 删除当前光标直到末尾