(13)python 正则表达式
匹配单个字符
f. o f和o之间是任意字符 例如:fbo123
.. 任意两个字符
\.用来匹配.
边界匹配
the 表示包含the的任何字符串
^from 表示以from开头的所有字符串都符合
/bin$ 表示以/bin结束的所有字符串
^abc$ 固定必须是abc
方括号单个字符
a[asd]c ac中间可以是 a 、s、d 中的一个字符
[ab][cd] 可以是ac ad bc bd
方括号范围字符
可以是 a-z A-Z 1-9
a[d-h]b 中间必须是d-h之间的一个
a[a-fB]b a到f 或者是B
闭包操作符
*匹配左边的字符 可以出现零次或者多次
+ 一次或者多次
?零次或者一次
{} 里面可以单个数字,或者N,M的形式 表示前面的字符可以出现多少次 {8} 必须出现8次 {5,8} 必须出现5到8次
特殊字符
用一个特殊字符来简写某些表达式
例如 \W 表示所有数字字符的集合(包括大小写)
圆括号


python里正则表达式的用法
1.compile()
compile(‘正则表达式’) 返回一个正则表达式对象
c=re.compile('a[0-9]b')#
2.group()和groups()
成功调用match() 或者search() 后返回一个匹配对象
此匹配对象有两个方法 group()和groups()
group()要么返回整个匹配对象,要么根据要求返回特定子组
groups()返回一个唯一或全部子组的元组
3.match()
从字符串的起始位置对模式进行匹配,如果成功就返回一个匹配对象,如果失败返回None。
group()方法用来显示成功匹配的字符串
import re
a=re.match('..abc$','g5abc')
if a is not None:#如果匹配成功
print(a.group())
也可以用
a=re.match('..abc$','g5abc').group()
但是匹配失败会抛出AttributeError异常
4.search()
和match()用法一样,区别在于在任意位置对给定正则表达式搜索第一次出现的匹配情况
import re
a=re.match('foo','sfood').group()#匹配失败,会报错不能打印a
a=re.search('foo','sfood').group()#搜索成功,但匹配 能打印出a
print(a)

(13)python 正则表达式的更多相关文章
- Python学习:13.Python正则表达式
一.正则表达式简介 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. 就其本质 ...
- 第11.13节 Python正则表达式的转义符”\”功能介绍
为了支持特殊元字符在特定场景下能表示自身而不会被当成元字符进行匹配出来,可以通过字符集或转义符表示方法来表示,字符集表示方法前面在<第11.4节 Python正则表达式搜索字符集匹配功能及元字符 ...
- Python天天美味(15) - Python正则表达式操作指南(re使用)(转)
http://www.cnblogs.com/coderzh/archive/2008/05/06/1185755.html 简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格 ...
- [转] Python正则表达式指南
本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...
- Python 正则表达式学习笔记
本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...
- 【repost】Python正则表达式
星光海豚 python正则表达式详解 正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技 ...
- 7.Python 正则表达式学习笔记
本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...
- python正则表达式re模块详细介绍--转载
本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这点不用担心,python会处理地和Ascii字符一样漂亮. 正则表达式使用反斜杆( ...
- python 正则表达式详解
正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能 ...
随机推荐
- 安装与配置JDK
第一步:下载jdk-7-linux-i586.tar.gzwget -c http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586. ...
- AJAX基本演示使用
Servlet配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="h ...
- SPOJ HIGH(生成树计数,高斯消元求行列式)
HIGH - Highways no tags In some countries building highways takes a lot of time... Maybe that's bec ...
- [BZOJ4920][Lydsy六月月赛]薄饼切割
[BZOJ4920][Lydsy六月月赛]薄饼切割 试题描述 有一天,tangjz 送给了 quailty 一张薄饼,tangjz 将它放在了水平桌面上,从上面看下去,薄饼形成了一个 \(H \tim ...
- 【NOIP模拟赛】与非 乱搞
biubiu~~~ 正解是线段树维护真值表,但是我觉得对于这道题来说乱搞就够了....... 我们发现如果我们把每一个数都一开始取反就会发现对于最后结果来说 x=x^1,x nand x=x|x ,x ...
- ViewData和ViewBag的那些事
既然结论是“共享着相同的数据”,那我们就证实一下吧. 看来结论是正确的. 去查看定义,发现他们的类型是不一样的,ViewData是ViewDataDictionary,ViewBag是dynamic. ...
- tcp/ip网络协议学习
链路层介绍 网络层协议的数据单元是 IP 数据报 ,而数据链路层的工作就是把网络层交下来的 IP 数据报 封装为 帧(frame)发送到链路上,以及把接收到的帧中的数据取出并上交给网络层. 以太网 以 ...
- docker公司测试环境搭建总结
1.防火墙转发规则: [root@docker ~]# firewall-cmd --list-allpublic (active) target: default icmp-block-invers ...
- -webkit-overflow-scrolling:touch;
-webkit-overflow-scrolling建了带有硬件加速的系统级控件,所以效率很高.但是这相对是耗更多内存的,最好在产生了非常大面积的overflow时才应用. 而且在 ios8 里有b ...
- 前端面试:js闭包,为什么要使用闭包
要理解闭包,首先理解javascript特殊的变量作用域,变量的作用于无非就是两种:全局变量,局部变量. javascript语言的特殊处就是函数内部可以读取全局变量. 1.如何从外部读取局部变量? ...