一、简介:
正则表达式:是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过re模块实现,正则表达式模式被编译成
一系列的字节码,然后由用C编写的匹配引擎执行。 二、字符匹配(普通字符、元字符)
普通字符:
元字符:. ^ $ * + ? { } [ ] | ( ) \ \后边跟元字符去除特殊功能
\后边跟普通字符实现特殊功能 \d 匹配任何十进制数;相当于[0-9]
\D 匹配任何非数字字符;相当于[^0-9]
\s 匹配任何空白字符;相当于[ \t\n\r\f\v]
\S 匹配任何非空白字符;相当于[^ \t\n\r\f\v]
\w 匹配任何字母数字字符;相当于[a-zA-Z0-9_]
\W 匹配任何非字母数字字符;相当于[^a-zA-Z0-9_]
\b 匹配一个单词边界,比如空格,&,#等
import re
匹配第一个满足的结果
print(re.search('fansik', 'fansik,,,,,fansik').group()) 匹配手机号:
print(re.findall('^0?1[3|4|5|8][0-9]\d{8}$', '')) 为分组取名字
print(re.search('(?P<id>\d{3})/(?P<name>\w{3})', 'asfda521/dfdsfaa').group('id'))
print(re.search('(?P<id>\d{3})/(?P<name>\w{3})', 'asfda521/dfdsfaa').group('name')) 取消组的优先级
print(re.findall('www.(\w+).com', 'www.baidu.com'))
# 执行结果:
['baidu']

print(re.findall('www.(?:\w+).com', 'www.baidu.com'))
# 取消优先级后的执行结果:
['www.baidu.com']
正则表达式的方法:
findall():所有结果都返回到一个列表里
search():返回匹配到的第一个对象(object),对象可以调用group()返回结果
match():只在字符串开始匹配匹配
print(re.match('fansik', 'fansikfanjinbao').group())
split():以指定字符分割字符串
print(re.split('ma', 'fansikmafanjinbaomazhansanmalisi'))
执行结果:
['fansik', 'fanjinbao', 'zhansan', 'lisi']
re.sub():字符替换
print(re.sub('ma', 'df', 'fansikmafanjinbaomazhansanmalisi'))
执行结果:
fansikdffanjinbaodfzhansandflisi
re.comile():编译一个规则,使用与该规则被反复使用的情况下
obj = re.compile('\.com')
print(obj.findall('fansik.com'))
常用的匹配规则
手机:/^0?1[3|4|5|8][0-9]\d{8}$/
固话:/^0[\d]{2,3}-[\d]{7,8}$/
电子邮箱:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/
用户名:/^[a-z0-9_-]{3,16}$/
密码:/^[a-z0-9_-]{6,18}$/
URL:/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/

Python基础-re正则模块的更多相关文章

  1. 十八. Python基础(18)常用模块

    十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...

  2. python基础,函数,面向对象,模块练习

    ---恢复内容开始--- python基础,函数,面向对象,模块练习 1,简述python中基本数据类型中表示False的数据有哪些? #  [] {} () None 0 2,位和字节的关系? # ...

  3. Python基础-包与模块

    Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含 ...

  4. python基础31[常用模块介绍]

    python基础31[常用模块介绍]   python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...

  5. python基础-包和模块

    Python基础-包与模块 写在前面 如非特别说明,下文均基于Python3 摘要 为重用以及更好的维护代码,Python使用了模块与包:一个Python文件就是一个模块,包是组织模块的特殊目录(包含 ...

  6. Python全栈开发之路 【第六篇】:Python基础之常用模块

    本节内容 模块分类: 好处: 标准库: help("modules") 查看所有python自带模块列表 第三方开源模块: 自定义模块: 模块调用: import module f ...

  7. Python 基础之re 模块

    Python 基础之大话 re 在使用re模块中主要会用到一下几个方法: re.match() #从头匹配一个字符串 re.search() #浏览全部字符串,匹配第一个符合规则的字符串 re.fin ...

  8. python基础(11)-常用模块

    re(正则)模块 常用方法 findall() 以列表返回所有满足条件的结果 import re print(re.findall('\d','a1b2c2abc123'))#['1', '2', ' ...

  9. Python基础入门-os模块

    今天我们来介绍一下os模块中常用的一些方法,当然python中的os模块中提供的使用方法有很多,但是这里面小编会列举出来一些和实际工作中应用的相关的方法,而且会有一些实际的例子方便大家对os模块理解. ...

随机推荐

  1. mysql group by 与order by的实例分析(mysql分组统计后最大值)

    CREATE TABLE `test` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) CHARACTER SET latin1 DEFAULT NULL, `c ...

  2. java正则表达式基础知识(转)

    1基础 2.1 简单字符类 构造 描述 [abc] a,b或c [^abc] 除a,b或c外的字符 [a-zA-Z] a至z 或 A至Z [a-d[m-p]] a至d 或 m至p [a-z&& ...

  3. robot.txt 文件 作用和语法

    seo工作者应该不陌生,robots.txt文件是每一个搜索引擎蜘蛛到你的网站之后要寻找和访问的第一个文件,robots.txt是你对搜索引擎制定的一个如何索引你的网站的规则.通过该文件,搜索引擎就可 ...

  4. VmWare下安装CentOS6

    为什么选择CentOS ? 1. 主流: 目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS 2. 免费: RedHat 和CentOS差别不大,C ...

  5. DatabaseFactory.CreateDatabase 方法操作数据库

    using Microsoft.Practices.EnterpriseLibrary.Data;using Microsoft.Practices.EnterpriseLibrary.Data.Sq ...

  6. centos 7 下安装haproxy

    1 haproxy 下载 从如下目录下载haproxy:http://www.haproxy.org/download/1.7/src/haproxy-1.7.1.tar.gz 2 haproxy 安 ...

  7. Java bean 是个什么概念?

    Java语言欠缺属性.事件.多重继承功能.所以,如果要在Java程序中实现一些面向对象编程的常见需求,只能手写大量胶水代码.Java Bean正是编写这套胶水代码的惯用模式或约定.这些约定包括getX ...

  8. Windows下使用python

    Windows下使用python,一般安装python就有IDLE了,再这个里面使用就好了,很方便 安装完之后.py的文件右键会有Edit with IDLE,可是我脑残想要默认打开就是IDLE,结果 ...

  9. pycharm2018.1.4激活破解方法与汉化包-2018年6月19日

    记录下来备用,顺便分享给大家,有能力的还是希望能够支持正版!支持正版!支持正版! 方法1:激活服务器,最简单快速(截止2018年6月19日可用) 在激活Jetbrains旗下任意产品的时候选择激活服务 ...

  10. 多媒体开发之音频编码---ffmpeg 编码aac

    http://blog.csdn.net/ctroll/article/details/8169396