常用的命令: 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正则表达式学习记录的更多相关文章

  1. Python正则表达式学习摘要及资料

    摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...

  2. Python 正则表达式学习

    摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2, ...

  3. Python 正则表达式学习摘要及资料

    来源:Michael_翔_ 摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会 ...

  4. JS正则表达式学习记录

    JS:正则表达式学习记录 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  5. Python 正则表达式学习笔记

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...

  6. 7.Python 正则表达式学习笔记

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...

  7. Python正则表达式 学习笔记

    python第一个正则表达式 1. import re : python正则表达式模块 2. 第一个正则表达式 re.compile(r'imooc') pattern.match('imooc py ...

  8. Python爬虫学习记录【内附代码、详细步骤】

    引言: 昨天在网易云课堂自学了<Python网络爬虫实战>,视频链接 老师讲的很清晰,跟着实践一遍就能掌握爬虫基础了,强烈推荐! 另外,在网上看到一位学友整理的课程记录,非常详细,可以优先 ...

  9. python爬虫学习记录

    爬虫基础 urllib,urllib2,re都是python自带的模块 urllib,urllib2区别是urllib2可以接受一个Request类的实例来设置url请求的headers,即可以模拟浏 ...

随机推荐

  1. centos中PATH环境变量查看和修改

    PAHT环境变量 :定义的是系统搜索命令的路径.<就是自己写的程序不打绝对路径就可以执行,必须放到 $PATH这个文件中>查看命令:echo $PATH 以添加mongodb server ...

  2. js重写trim()方法

    最近项目中出现去空格的需求,我本地是IE11,使用trim()函数的时候,是无法识别的.因此重写String的trim()方法. 1.要求 可以去除首位全角,半角空格. 2.对   能去除所有 Str ...

  3. AssetBundle打包详解

    Unity5.x AssetBundle打包详解 在网上查看了很多资料,想详细搞清楚AssetBundle的原理.以实现符合项目需求的打包工具和加载逻辑 1. AssetBundle是什么? Asse ...

  4. 在线播放Video/PDF/JPG

    Label1.Text = Play(url, , ); public string Play(string url, int width, int height) { string strTmp = ...

  5. smali语法详解

    smali文件格式 每个smali文件都由若干条语句组成,所有的语句都遵循着一套语法规则.在smali 文件的头3 行描述了当前类的一些信息,格式如下: .class < 访问权限> [  ...

  6. 最新2018年三月可用Windows10激活密钥

    Windows 10 Edition Product Key Windows 10 Home TX9XD-98N7V-6WMQ6-BX7FG-H8Q99 Windows 10 Home Single ...

  7. 2017第八届蓝桥杯C/C++ B组省赛-等差素数列

    标题:等差素数列 2,3,5,7,11,13,....是素数序列. 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列. 上边的数列公差为30,长度为6. 200 ...

  8. mastering elasticsearch

    概念: Term: 它是搜索的基本单位,其表现形式为文本中的一个词. Token: 它是单个Term在所属Field中文本的呈现形式,包含了Term内容.Term类型.Term在文本中的起始及偏移位置 ...

  9. git 应用

    git - 简易指南 助你开始使用 git 的简易指南,木有高深内容,;). 安装 下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库 创建新文件夹, ...

  10. 更换JDK版本时的问题:Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg'

    1.先把oracle自带的weblogic给卸载了,然后打开eclipse,发现报错了:Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg' J ...