常用的命令: 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. SQL-19 查找所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工

    题目描述 查找所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工CREATE TABLE `departments` (`dept_no` c ...

  2. AOP 实现自定义注解

    1.自定义注解2.编写 AOP3.测试 1.自定义注解 package com.base.yun.spring.aop; import java.lang.annotation.Documented; ...

  3. POJ - 3252 A - Round Numbers

    The cows, as you know, have no fingers or thumbs and thus are unable to play Scissors, Paper, Stone' ...

  4. linux程序的常用保护机制

    操作系统提供了许多安全机制来尝试降低或阻止缓冲区溢出攻击带来的安全风险,包括DEP.ASLR等.在编写漏洞利用代码的时候,需要特别注意目标进程是否开启了DEP(Linux下对应NX).ASLR(Lin ...

  5. 【腾讯开源】前端预处理器语言图形编译工具 Koala使用指南

    摘要:Koala是一款预处理器语言图形编译工具,支持Less.Sass.CoffeeScript.Compass框架的即时编译.无需手动输入命令去编译,后台监听文件是否有改变,如有修改会自动进行编译, ...

  6. CSS学习笔记之样式规划

    大家都知道规范灵活的代码布局对提升程序员开发和后期维护效率至关重要,因为css同一元素可能被不同偏重度的选择器命中,相同元素不同的选择器表达式的样式冲突导致的显示异常,再加上不规范的代码,经常让前端代 ...

  7. angular 学习日志

    1.创建项目 npm install -g @angular/cli ng new my-app cd my-app ng serve --open // 或者 npm start 2.生成新模块 n ...

  8. 2--Jmeter 4.0--Excel 数据驱动 接口测试

    Excel 模板 通过jmeter的csv data set config 读取 Jmeter注意事项 (1)数据驱动 1..JDBC :SQL 存储在excel中,无法将where条件对应的jmet ...

  9. HTTP Methods 和 RESTful Service API 设计

    含义: HTTP Methods:也叫 HTTP Verbs,HTTP Methods 可以翻译成 HTTP 方法.它们是 HTTP 协议的一部分,主要规定了 HTTP 如何请求和操作服务器上的资源, ...

  10. [转]Hadoop家族学习路线图

    Hadoop家族学习路线图 Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, ...