python正则表达式3-模式匹配

re.S,使 ‘.‘  匹配换行在内的所有字符

>>> pattern=r‘ghostwu.com‘
>>> import re
>>> re.findall( pattern, ‘ghostwuacom‘ )
[‘ghostwuacom‘]
>>> re.findall( pattern, ‘ghostwubcom‘ )
[‘ghostwubcom‘]
>>> re.findall( pattern, ‘ghostwu.com‘ )
[‘ghostwu.com‘]
>>> re.findall( pattern, ‘ghostwu\ncom‘ )
[]
>>> re.findall( pattern, ‘ghostwu\ncom‘, re.S )
[‘ghostwu\ncom‘]
>>> 

re.M,多行匹配,主要影响( ^和$ )

>>> str="""
... hi,ghostwu,how are you
... ghostwu: my name is ghostwu,how are you
... ghostwu: nice to meet you
... hello ghostwu
... """
>>> pattern = r"^ghostwu"
>>> re.findall( pattern, str )
[]
>>> re.findall( pattern, str, re.M )
[‘ghostwu‘, ‘ghostwu‘]
>>> 

当正则有多行的时候,可以开启verbose模式re.X

>>> pattern=r"""
... \d{3,4}
... -?
... \d{8}
... """
>>> str="020-88888888"
>>> re.findall( pattern, str )
[]
>>> re.findall( pattern, str, re.X )
[‘020-88888888‘]
>>> 

():分组与|  的使用,  假如我们要匹配一个.com,.cn,.net结尾的email

>>> pattern=r"\[email protected]\w+(.com|.cn|.net)"
>>> email="[email protected]">>> re.match( pattern, email )
<_sre.SRE_Match object at 0x7f2b74481828>
>>> re.match( pattern, ‘[email protected]‘ )
<_sre.SRE_Match object at 0x7f2b744818a0>
>>> re.match( pattern, ‘[email protected]‘ )
<_sre.SRE_Match object at 0x7f2b74481828>
>>> re.match( pattern, ‘[email protected]‘ )
>>> 

匹配超链接

>>> html="""
... <a href="http://www.baidu.com">百度</a>
... <a href="index.html">首页</a>
... <p>这是一段说明</p>
... <a href="http://www.taobao.com">淘宝</a>
... """
>>> re=r"href=\"(.+?)\""
>>> pattern=r"href=\"(.+?)\""
>>> re
‘href=\\"(.+?)\\"‘
>>> import re
>>> re.findall( pattern, html )
[‘http://www.baidu.com‘, ‘index.html‘, ‘http://www.taobao.com‘]
>>> 

原文地址:https://www.cnblogs.com/ghostwu/p/8634449.html

时间: 2024-10-27 11:48:33

python正则表达式3-模式匹配的相关文章

python 正则表达式基础

又一段时间没写博客了 最近一段时间在写pygame 又忽略了博客 今天因要帮朋友修改电影字幕 用到了正则表达式 重新学了一遍 发现还是得多练 才能算渐渐掌握 python 正则表达式 1.1介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大.得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同:但不用担心,不被支持

[ Python ] 正则表达式(1)

[ Python ] 正则表达式(1) 概念区分:搜索 ( Search ) 和 匹配 ( Match ) from re import search, match search("nana", "banana") # Search succeeds! search("bana", "banana") # Search succeeds! match("nana", "banana")

Python正则表达式------进阶

Python正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换. re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数. 本章节主要介绍Pyt

python爬虫(四)--python正则表达式

在爬虫的学习过程中,又一个你必须要掌握的知识点就是正则表达式 爬虫程序需要爬取你需要的东西,那么就对爬取的结果进行筛选,正则表达式就起到这样的作用 如果你学过任何一门语言,相信你都会接触正则表达式.并且正则表达式大多相同. 不管怎样,就像开头说的那样,因为这是爬虫基础教程.所以这篇文章要详细的说一下python的 正则表达式.开始进入正题吧. 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配.Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正

pyqt学习基础 4 -插曲- python 正则表达式学习

python 正则表达式学习 资源来自 学习资源来自ubuntu wiki 正则表达式介绍 正则表达式,各种语言都有相关的库.就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言 简单模式 字符匹配 _大多数_字母和字符一般都会和自身匹配.例如,正则表达式 test 会和字符串"test"完全匹配. 正则表达式使用一些元字符来帮助字符匹配: . ^ $ * + ? { [ ] \ | ( ) "[" 和 "]" "[&

python 正则表达式 re.sub &amp; re.subn

python正则表达式模块简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 Emacs 风格的模式.Emacs 风格模式可读性稍差些,而且功能也不强,因此编写新代码时尽量不要再使用 regex 模块,当然偶尔你还是可能在老代码里发现其踪影. 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.使用这个小型语言

python 正则表达式re使用模块(match()、search()和compile())

摘录 python核心编程 python的re模块允许多线程共享一个已编译的正则表达式对象,也支持命名子组.下表是常见的正则表达式属性: 函数/方法 描述 仅仅是re模块函数 compile(pattern,flags=0) 使用任何可选的标记来编译正则表达式的模式 ,然后返回一个正则表达式对象 re模块函数和正则表达式对象的方法 match(pattern,string,flags=0) 尝试使用带有可选标记的正则表达式的模式来匹配字符串,成功则返回匹配的对象,失败则返回None search

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

一.正则表达式简介 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. 就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言, (在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被 编译成一系列的字节码,然后由用 C 编写的匹配引擎执行. re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模

python大法好——Python 正则表达式

Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换. re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数. 本章节主要介绍Py

Python正则表达式初识(六)

继续分享Python正则表达式基础,今天给大家分享的正则表达式特殊符号是"[]".中括号十分实用,其有特殊含义,其代表的意思是中括号中的字符只要满足其中任意一个就可以.其用法一共有三种,分别对其进行具体的代码演示,在最后进行总结,具体的教程如下. 1.如下图所示,匹配模式为[abcd],在这里正则表达式代表的意思是字符串第一个字符是abcd四个字符中的任意一个,然后后面的字符是"cpeng123",如果满足匹配条件,则输出结果,如果不满足,则不显示任何结果,如下图所