Python正则表达
```
# -*- coding:utf-8 -*-
import re
re - Support for regular expressions (RE).
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。
re 模块使 Python 语言拥有全部的正则表达式功能。
compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象,该对象拥有一系列方法用于正则表达式匹配和替换。
re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。
```
```
match 正则表达式模式与字符串的开头匹配.
fullmatch 正则表达式模式与所有字符串匹配
search 在字符串中搜索模式的存在
sub 替换在字符串中找到的模式匹配.
subn 与sub相同,但也返回所做的替换次数
split 按照模式的出现位置分割字符串后返回列表
findall 以列表的形式返回能全部匹配到的子串
finditer 返回一个迭代器,为每个匹配产生一个Match对象
compile 将模式编译为Pattern对象
purge 清除正则表达式缓存
escape 反斜杠字符串中的所有非字母数字
```
```
'1. 匹配任意单个字符, 换行符\n除外'
pattern01 = re.compile(pattern=r'.', flags=0)
ma01 = re.match(pattern=pattern01,string='hello china!')
'2. 匹配任意单个字符, 包括换行符\n'
pattern02 = re.compile(r'.',flags=re.S)
ma02 = re.match(pattern=pattern02, string='\nhello china!', flags=0)
'3. 匹配指定的字符串 '
pattern03 = re.compile(pattern=r'hello')
ma03 = re.match(pattern=pattern03,string='hello world!')
'4. 匹配任意单个小写字母 '
pattern04 = re.compile(r'[a-z]')
ma04 = re.match(pattern=pattern04,string='hello world!')
'5. 匹配任意单个字母 '
pattern05 = re.compile(r'[a-zA-Z]')
ma05 = re.match(pattern=pattern05,string='Hello World!')
'6. 匹配任意单个数字'
pattern06 = re.compile(r'[0-9]') or re.compile(r'\d')
ma06 = re.match(pattern06,'2018-10-10')
'7. 匹配任意单个字母数字 '
pattern07 = re.compile(r'\w' or r'[a-zA-Z0-9]')
ma07 = re.match(pattern07,'hello world')
'8. 匹配任意单个非字母数字'
pattern08 = re.compile(r'\W') or re.compile(r'[^\w]')
ma08 = re.match(pattern08,'<hello world>')
'9. 匹配任意单个非数字'
pattern09 = re.compile(r'\D' or r'[^\d]')
ma09 = re.match(pattern09, 'hello world!')
'10. 匹配任意单个空白字符\t \r \n \f \v 空格'
pattern10 =re.compile(r'\s')
ma10=re.match(pattern10, '\n hello world!')
'11. 匹配任意单个非空白字符'
pattern11 = re.compile(r'\S')
ma11 = re.match(pattern11, 'hello china!')
'12. 匹配特殊字符 . * + ? 等,使用转义符号/ \ '
pattern12 =re.compile(r'\+')
ma12 = re.match(pattern12, '+*-?hello china!')
'13. 匹配任意字符0次或无限次'
pattern13 = re.compile(r'.*',flags=re.S)
ma13 = re.match(pattern13, 'hello china!')
'14. 匹配任意字母1次或无限次'
pattern14 = re.compile(r'[a-zA-Z]+')
ma14 = re.match(pattern14,'hello world!')
'15. 匹配任意数字0次或1次'
pattern15 = re.compile(r'\d?')
ma15 = re.match(pattern15,'hello china')
'16. 匹配前一个字符m次'
pattern16 = re.compile(r'[a-z]{2}')
ma16 = re.match(pattern16,'hello china')
'17. 匹配前一个字符m-n次'
pattern17 =re.compile(r'[a-z]{2,4}')
ma17 =re.match(pattern17,'hello china')
'18. 非贪婪模式匹配, 尽可能的少匹配或不匹配 *? +? ?? {m,n}?'
pattern18 = re.compile(r'\w+?')
ma18 =re.match(pattern18,'hello wolrd')
'19. 匹配模式分组, 使用编号引用'
pattern19 =re.compile(r'<(\w+>)\w+</\1')
ma19 = re.match(pattern19,'<book>python3</book>')
'20.匹配模式分组,并其别名, 用别名引用'
pattern20 = re.compile(r'<(?P<name>\w+>)\w+</(?P=name)')
ma20 = re.match(pattern20,'<book>python3</book>')
'21. 匹配字符串的开头'
pattern21 = re.compile(r'^[a-zA-z_].*')
ma21 = re.match(pattern21,'sutdent1 = 12')
'22. 匹配字符串的结尾'
pattern22 = re.compile(r'\.com$')
ma22 = re.search(pattern22,'www.test2018.com')
'23. 仅仅匹配字符串开头 \A'
'24. 仅仅匹配字符串结尾 \Z'
```
```
're.I 使匹配对大小写不敏感'
're.L 做本地化识别(locale-aware)匹配'
're.M 多行匹配,影响 ^ 和 $'
're.S 使 . 匹配包括换行在内的所有字符'
're.U 根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.'
're.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解'
```
Python正则表达的更多相关文章
- python 正则表达提取方法 (提取不来的信息print不出来 加个输出type 再print信息即可)
1,正则表达提取 (findall函数提取) import re a= "<div class='content'>你大爷</div>"x=re.finda ...
- Python 正则表达试
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦, ...
- Python 正则表达模块详解
Python 的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Py ...
- Python正则表达计算器
Python学习笔记(十二): 计算器 利用Python的正则表达式写的简易计算器 # author : Ryoma # time : 17:39 import re def add(string): ...
- PYTHON 正则表达示入门
确实是实践出真知,自己手打代码之后,以前停在理论上的东东,慢慢可以进入实战了. 比如,MATCH和SEARCH之间的区别. #encoding: UTF-8 import re pattern = r ...
- python正则表达提取文本好文
摘自: http://www.cnblogs.com/rj81/p/5933838.html
- Python之面向对象和正则表达(代数运算和自动更正)
面向对象 一.概念解释 面对对象编程(OOP:object oriented programming):是一种程序设计范型,同时也是一种程序开发的方法,实现OOP的程序希望能够在程序中包含各种独立而又 ...
- python——re模块(正则表达)
python——re模块(正则表达) 两个比较不错的正则帖子: http://blog.csdn.net/riba2534/article/details/54288552 http://blog.c ...
- 正则表达示 for Python3
前情提要 从大量的文字内容中找到自己想要的东西,正则似乎是最好的方法.也是写爬虫不可缺少的技能.所以,别墨迹了赶紧好好学吧! 教程来自http://www.runoob.com/python3/pyt ...
随机推荐
- owinAuthorize
Nuget包获取 Install-Package Microsoft.AspNet.WebApi.Owin -Version 5.1.2 Install-Package Microsoft.Owin. ...
- C# 接口(3)
这么半天说了如何使用,实现接口.相信也都发现了接口和抽象类很多相似的地方. 但是! 这两个根本就是不一样的. 抽象类 : ...
- 用C语言构建一个可执行程序的流程
1.流程图 从用C语言写源代码,然后经过编译器.连接器到最终可执行程序的流程图大致如下图所示. 2.编译流程 首先,我们先用C语言把源代码写好,然后交给C语言编译器.C语言编译器内部分为前端和后端. ...
- 【BZOJ 1877】 [SDOI2009]晨跑(费用流)
题目描述 Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑.仰卧起坐等 等,不过到目前为止,他坚持下来的只有晨跑. 现在给出一张学校附近的地图,这张地图中包含N个十字路口和M条街 ...
- The server of Apache (三)——网页优化
在企业中,部署apache后只采用默认的配置参数,会有很多问题,因为那些配置都是针对以前服务器配置的. 一.网页压缩 1.介绍 配置apache的网页压缩功能,是使用Gzip压缩算法来对apache服 ...
- 老男孩Day11作业:selectors版socket
一.作业需求: 使用SELECT或SELECTORS模块实现并发简单版FTP 允许多用户并发上传下载文件 二.readme 一.作业需求: 使用SELECT或SELECTORS模块实现并发简单版FTP ...
- jquery.from帮助类
/** * 将form里面的内容序列化成json * 相同的checkbox用分号拼接起来 * @param {obj} 需要拼接在后面的json对象 * @method serializeJson ...
- 【解决】Linux Tomcat启动慢--Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [236,325] milliseconds
一.背景 今天部署项目到tomcat,执行./startup.sh命令之后,访问项目迟迟加载不出来,查看日志又没报错(其实是我粗心了,当时tomcat日志还没打印完),一开始怀疑是阿里云主机出现问题, ...
- angularjs中向html页面添加内容节点元素代码段的两种方法
第一种方式:原生JS向html页面添加内容节点元素代码段: <!DOCTYPE html> <html> <head> <meta charset=" ...
- JavaWeb学习笔记(二)—— Tomcat服务器
一.Web开发概述 1.1 Web开发中常见的概念 [B/S系统和C/S系统] Brower/Server:浏览器 服务器 系统 ----- 网站 Client/Server:客户端 服务器 系统 - ...