匹配单个字符

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 正则表达式的更多相关文章

  1. Python学习:13.Python正则表达式

    一.正则表达式简介 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. 就其本质 ...

  2. 第11.13节 Python正则表达式的转义符”\”功能介绍

    为了支持特殊元字符在特定场景下能表示自身而不会被当成元字符进行匹配出来,可以通过字符集或转义符表示方法来表示,字符集表示方法前面在<第11.4节 Python正则表达式搜索字符集匹配功能及元字符 ...

  3. Python天天美味(15) - Python正则表达式操作指南(re使用)(转)

    http://www.cnblogs.com/coderzh/archive/2008/05/06/1185755.html 简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格 ...

  4. [转] Python正则表达式指南

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...

  5. Python 正则表达式学习笔记

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...

  6. 【repost】Python正则表达式

    星光海豚   python正则表达式详解 正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技 ...

  7. 7.Python 正则表达式学习笔记

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...

  8. python正则表达式re模块详细介绍--转载

    本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这点不用担心,python会处理地和Ascii字符一样漂亮. 正则表达式使用反斜杆( ...

  9. python 正则表达式详解

    正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能 ...

随机推荐

  1. BZOJ4327 JSOI2012玄武密码(AC自动机)

    当然可以在SA上二分答案,但看起来会被卡log.考虑对模板串建出AC自动机,用母串在上面跑,标记上所有能到达的点.注意到达某个点时需要标记所有其通过fail指针可以走到的点,如果遇到一个标记过的点就可 ...

  2. BZOJ4415 SHOI2013发牌(线段树)

    似乎是noip2017d2t3的一个部分分.用splay的话当然非常裸,但说不定会被卡常.可以发现序列中数的(环上)相对位置是不变的,考虑造一棵权值线段树维护权值区间内还有多少个数留在序列中,每次在线 ...

  3. BZOJ4373 算术天才⑨与等差数列(线段树)

    看上去很难维护,考虑找一些必要条件.首先显然最大值-最小值=k*(r-l).然后区间内的数需要模k同余.最后区间内的数两两不同(k=0除外).冷静一下可以发现这些条件组合起来就是充分的了. 考虑怎么维 ...

  4. BZOJ2729 [HNOI2012]排队 【高精 + 组合数学】

    题目链接 BZOJ2729 题解 高考数学题... 我们先把老师看做男生,女生插空站 如果两个老师相邻,我们把他们看做一个男生,女生插空站 对于\(n\)个男生\(m\)个女生的方案数: \[n!m! ...

  5. word公式编辑中的转义字符

    Some of the commonly used symbols:      \infty - Infinity      \leq - Less then or equal      \geq - ...

  6. recycleview的基础Adapter

    .封装了一个基础的adapter.,用于recycleview的快捷使用有BaseAdapter,BaseViewHolder,PAdapter,MainActivity public abstrac ...

  7. bzoj 2304 [Apio2011]寻路 Dij+模拟+恶心建图

    [Apio2011]寻路 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 624  Solved: 193[Submit][Status][Discus ...

  8. gitlab之:gitlab 403 forbidden 并发引起ip被封

    步骤: * 打开/etc/gitlab/gitlab.rb文件. * 查找gitlab_rails['rack_attack_git_basic_auth']关键词. * 取消注释 * 修改ip_wh ...

  9. 通过js修改微信内置浏览器title

    document.setTitle = function(t) { document.title = t; var i = document.createElement('iframe'); i.sr ...

  10. php魔术方法的使用

    本文测试环境为 php5.5.12 一.__get .__set 将对象的属性进行接管. 一般来说,总是把类的属性定义为private,但是对属性的读取和赋值操作非常频繁,在php5+,预定义__se ...