(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 正则表达式详解
正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能 ...
随机推荐
- BZOJ4584 APIO2016赛艇(动态规划+组合数学)
如果值域不大,容易想到设f[i][j]为第i个学校选了j的方案数,枚举上一个学校是哪个选了啥即可,可以前缀和优化.于是考虑离散化,由于离散化后相同的数可能可以取不同的值,所以枚举第一个和其所选数(离散 ...
- 51nod 1565模糊搜索(FFT)
题目大意就是字符串匹配,不过有一个门限k而已 之前有提到过fft做字符串匹配,这里和之前那种有些许不同 因为只有A,C,G,T四种字符,所以就考虑构造4个01序列 例如,模板串a关于'A'的01序列中 ...
- Win10间歇性卡顿
Win10间歇性卡顿 1.关闭不必要的服务:Windows Update.Windows Search.SuperFetch.Background Intelligent Transfer Servi ...
- 对web开发从业者的发展方向的思考
最近在读子柳的<淘宝技术这十年>,“牛P列传”这一章中介绍了很多淘宝技术发展史上做出重要贡献的“牛P人物”(阿里的技术岗按能力分级,从P1~P10). 读到采访小马的这一段: 子柳:畅想一 ...
- 【poj3415-长度不小于k的公共子串个数】后缀数组+单调栈
这题曾经用sam打过,现在学sa再来做一遍. 基本思路:计算A所有的后缀和B所有后缀之间的最长公共前缀. 分组之后,假设现在是做B的后缀.前面的串能和当前的B后缀产生的公共前缀必定是从前往后单调递增的 ...
- codechef September Challenge 2017 Sereja and Commands
———————————————————————————— 这道题维护一下原序列的差分以及操作的差分就可以了 记得倒着差分操作 因为题目保证操作2的l r 小与当前位置 #include<cstd ...
- 【洛谷 UVA11417】 GCD(欧拉函数)
我们枚举所有gcd \(k\),求所有\(gcd=k\)的数对,记作\(f(k)\),那么\(ans=\sum_{i=1}^{n}(f(i)-1)*i\).为什么减1呢,观察题目,发现\(j=i+1\ ...
- php发送请求
$opts = array( 'http'=>array( 'method'=>"GET", 'timeout'=>10, ));$context = strea ...
- bzoj 1042 DP+容斥原理
我们可以先DP预处理出W[I]代表买I的东西,每种钞票的个数 不做限制的方案数,那么对于每一组数据的限制,我们可以知道 W[S-C[I]*(D[I]+1)]C为面值,D为数量,这个代表第I种钞票一定 ...
- bzoj 1798 维护序列seq 线段树
裸的线段树,注意标签下放就行了 多么痛的领悟,一定要开int64 /************************************************************** Pro ...