python 正则表达式练习备忘录

感觉这正则表达式,还是要多实践,水平才能提高。

现在只是练习,知道其运用场合,掌握中心思想就差不多了。

附两个松散正则表达式样例:

>>> pattern = '''
    ^                   # beginning of string
    M{0,3}              # thousands - 0 to 3 Ms
    (CM|CD|D?C{0,3})    # hundreds - 900 (CM), 400 (CD), 0-300 (0 to 3 Cs),
                        #            or 500-800 (D, followed by 0 to 3 Cs)
    (XC|XL|L?X{0,3})    # tens - 90 (XC), 40 (XL), 0-30 (0 to 3 Xs),
                        #        or 50-80 (L, followed by 0 to 3 Xs)
    (IX|IV|V?I{0,3})    # ones - 9 (IX), 4 (IV), 0-3 (0 to 3 Is),
                        #        or 5-8 (V, followed by 0 to 3 Is)
    $                   # end of string
    '''
>>> re.search(pattern, 'M', re.VERBOSE)                 ①<_sre.SRE_Match object at 0x008EEB48>
>>> re.search(pattern, 'MCMLXXXIX', re.VERBOSE)         ②<_sre.SRE_Match object at 0x008EEB48>
>>> re.search(pattern, 'MMMDCCCLXXXVIII', re.VERBOSE)   ③<_sre.SRE_Match object at 0x008EEB48>
>>> re.search(pattern, 'M')                             ④

~~~~~~~~~~~~~~~~~~~~~~~~
>>> phonePattern = re.compile(r'''
                # don't match beginning of string, number can start anywhere
    (\d{3})     # area code is 3 digits (e.g. '800')
    \D*         # optional separator is any number of non-digits
    (\d{3})     # trunk is 3 digits (e.g. '555')
    \D*         # optional separator
    (\d{4})     # rest of number is 4 digits (e.g. '1212')
    \D*         # optional separator
    (\d*)       # extension is optional and can be any number of digits
    $           # end of string
    ''', re.VERBOSE)
>>> phonePattern.search('work 1-(800) 555.1212 #1234').groups()  ①('800', '555', '1212', '1234')
>>> phonePattern.search('800-555-1212')                          ②('800', '555', '1212', '')
时间: 2024-10-09 16:44:57

python 正则表达式练习备忘录的相关文章

python正则表达式match和search用法实例

 这篇文章主要介绍了python正则表达式match和search用法,实例分析了正则表达式中match和search的功能.定义及相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了python正则表达式match和search用法.分享给大家供大家参考.具体分析如下: python提供了2中主要的正则表达式操作:re.match 和 re.search. match :只从字符串的开始与正则表达式匹配,匹配成功返回matchobject,否则返回none: sea

Python正则表达式精讲

Python正则表达式精讲 一.什么是正则表达式 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),是计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列匹配某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些匹配某个模式的文本. 许多程序设计语言都支持利用正则表达式进行字符串操作. 简单来说正则表达式就是一个模板,可以用它匹配寻找到我们所需

使用Python正则表达式RE从CSDN博客源代码中匹配出博客信息

前面我们说到了如何在Python正则表达式z中匹配中文,说到了另一种方法,这就是如何巧妙的使用Python正则表达式匹配模式的问题了 Python匹配模式 re.compile(strPattern[, flag]): 这个方法是Pattern类的工厂方法,用于将字符串形式的正则表达式编译为Pattern对象. 第二个参数flag是匹配模式,取值可以使用按位或运算符'|'表示同时生效,比如re.I | re.M.另外,你也可以在regex字符串中指定模式,比如re.compile('patter

【Python之旅】第三篇(三):Python正则表达式

说明:     Python的正则表达式功能强大,使用灵活,但由于目前对Python中正则表达式的使用和认识都比较浅,因此急于做笔记和总结显然是不可行的,因此,这里给出下面几篇不错的参考文档: 1.较为详细的Python正则表达式功能介绍的文档 http://www.cnblogs.com/xupeizhi/archive/2013/02/05/2892479.html 这是来自博客园的一位朋友写的总结,虽然在思路上不是很清晰,但是介绍得非常得详细,对于Python正则表达式的内容介绍比较多.

第十六章 Python正则表达式

正则表达式在每种语言中都会有,目的就是匹配符合你预期要求的字符串. Python正则表达式主要由re库提供,拥有了基本所有的表达式. 16.1 Python正则表达式 符号 描述 示例 . 匹配除换行符(\n)之外的任意单个字符 字符串123\n456,匹配123:1.3 ^ 匹配字符串开头 abc\nxyz,匹配以abc开头的行:^abc $ 匹配字符串结尾 abc\nxyz,匹配以xyz结束的行:xyz$ * 匹配多个 hello\nword,匹配以w开头d结尾的单词:w*d + 匹配1个或

python 正则表达式学习小结

在Python中实现正则的方式是通过re(regular expression的缩写)模块来实现的,你可以调用re模块的各种方法来实现不同的功能,下面我们就来说下,在Python中通过re模块可以调用那些方法,以及这些方法的作用都是什么:还有就是正则的实例以及各种特殊符号的含义: 1.re.sub和replace: sub的全拼是substitute,也就是替换的意思:既然知道是替换了,那就很容易用到实例中了,其实replace也是替换的意思,只不过它们的用法不太相同,下面用一个例子来详细说明下

基于Python正则表达式提取搜索结果中的站点地址

正则表达式对于Python来说并不是独有的,最近在把google搜索的结果中所有的站点地址导出,于是想到用python正则表达式提取搜索结果中的站点地址. 这其中涉及几个需要解决的问题: 1.获取搜索的结果文本 为了获得更多的地址,我使用了Google的高级搜索功能,每个页面显示100条结果. 获得显示的结果后,可以查看源码,并保持成文本文件就有了搜索的结果文本 2.分析如何提取站点信息 首先需要分析获取的页面,查看以怎样的方式可以提取出站点信息. 我使用IE8自带的开发工具(按F12就会弹出来

python 正则表达式 findall和search的问题

问题描述 python 正则表达式 findall和search的问题 代码: #coding=utf-8 import re s = 'abc111def abc222def abc345xyz abc678xyz' reg = r'(?<=abc)((?!abc).)+(?=xyz)' imgre = re.compile(reg) re.search(imgre, s) print ('re.search = ' + re.search(imgre, s).group()) print (

【转摘】PYTHON 正则表达式

网上转的一篇,把正则的规则系统的分类了.. 好文,共享,备查 ~~~~~~~~~~~ http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html Python正则表达式指南   本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程. 注意:本文基于Python2.4完成:如果看到不明白的词汇