`

Python高级编程----正则表达式

阅读更多
#!/usr/bin/python
#-*- coding:utf-8 -*-

'''
Created on 2016年6月25日

@author: Administrator
'''

'''
Python高级编程---正则表达式

#http://www.runoob.com/python/python-reg-expressions.html
'''

import re

#re.match(pattern, string, flags)
'''
参数说明:
pattern:匹配的正则表达式
string:要匹配的字符串
flags:标志位,用于控制正则表达式的匹配方式

匹配对象方法:
group(num=0):匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。
groups():返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。
'''

#实例一
def examp01():
   
    #在起始位置匹配
    print(re.match('www', 'www.runoob.com').span())
    #不在起始位置匹配
    print(re.match('com', 'www.runoob.com'))


#实例二
def examp02():
    line = "Cats are smarter then dogs dogs2"
   
    #re.match() :只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None
    matchObj = re.match(r'(.*) are (.*?) .*', line, re.M|re.I)
    if matchObj:
        print "matchObj.group():", matchObj.group()
        print "matchObj.groups():", matchObj.groups()
        print "matchObj.group(1):", matchObj.group(1,2)
        print "matchObj.group(2):", matchObj.group(2)
    else:
        print "No match!"
       
   
    #re.search():匹配整个字符串,直到找到一个匹配。
    matchObj = re.search(r'dogs', line, re.M|re.I)
    if matchObj:
        print "search----> matchObj.group():", matchObj.group()
   
    else:
        print "No match"


#检索和替换
#re.sub(pattern, repl, string, count, flags)

def examp03():
    phone = "2004-959-559 # This is Phone Number"
   
    num = re.sub(r'#.*$', "", phone)
    print "Phone Num:" , num

    #将任意非数字替换为 空
    num = re.sub(r'\D', "", phone)
    print "Phone Num:" , num



#正则表达式,可选标志位
'''
re.I    使匹配对大小写不敏感
re.L    做本地化识别(locale-aware)匹配
re.M    多行匹配,影响 ^ 和 $
re.S    使 . 匹配包括换行在内的所有字符
re.U    根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.
re.X    该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。
'''






if __name__ == '__main__':
    examp03()
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
                      -------2016-06-25 10:00
                                @modaokeng.yongtaixincun.baiyunqu.guangzhoushi.guangdongsheng

分享到:
评论

相关推荐

    06-正则表达式(python和linux高级编程阶段 代码和截图)

    06-正则表达式(python和linux高级编程阶段 代码和截图)06-正则表达式(python和linux高级编程阶段 代码和截图)06-正则表达式(python和linux高级编程阶段 代码和截图)06-正则表达式(python和linux高级编程阶段 ...

    中文正则表达式简单易懂

    就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。使用这个小型语言,你可以为想要匹配的相应字符串集指定规则;该字符串集可能包含...

    全国计算机等级考试二级python的学习笔记

    - Python正则表达式:正则表达式的基本语法和应用场景。 - 文本数据处理:字符串常用操作方法。 4. Python高级特性 - Python迭代器和生成器:迭代器协议、生成器函数和生成器表达式。 - Python函数式编程:Lambda...

    精通正则表达式~~~

    作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于有部分经验的读者... 6 检索文本文件:Egrep. 6 Egrep元字符... 8 行的起始和结束... 8 字符组... 9...

    python正则表达式.zip

    高级特性:Python支持面向对象编程、函数式编程等高级特性,使得代码更加模块化和可重用。 广泛的库和框架:Python拥有丰富的第三方库和框架,可以快速开发各种应用。 跨平台性:Python可以在多个操作系统上运行,...

    Python编程零基础入门

    10-1正则表达式与python 10-2特殊的符号 10-3re模块 11-1Time模块的使用 11-2Log模块的使用 2-1Python变量赋值及数据类型 2-2Python数值及方法 2-3Python字符串及方法 2-4Python列表和元组 2-5Python字典和集合 3-1...

    Python 笔记源码.7z

    10-正则表达式 11-Git 12-电子词典 13-HTMLCSS第一部分 14-HTML&CSS第二部分 15-前端项目 16- fask 17- Ajax 18-博客项目 19-Django 20-天天果园项目 21-爬虫基础 22-爬虫高级 23-Numpy基础,数据分析 24-机器学习...

    python核心编程(第3版)

    第1部分为讲解了Python的一些通用应用,包括正则表达式、网络编程、Internet客户端编程、多线程编程、GUI编程、数据库编程、Microsoft Office编程、扩展Python等内容。第2部分讲解了与Web开发相关的主题,包括Web...

    Python核心编程 第二版

    来源:百度网盘 作 者: (美)丘恩(Chun,W.J.) 著,社区 译 出 版 社: 人民邮电出版社 页 数: 925 第1部分 Python核心 ...15.3 正则表达式和Python语言 15.3.1 re模块:核心函数和方法

    python24期全套视频编程课程百度网盘

    4. 正则表达式:介绍正则表达式的基本语法、匹配模式、替换等操作。 5. 网络编程:介绍Python的网络编程、socket编程、TCP/UDP协议等知识。 6. 多线程编程:介绍Python的多线程编程、线程的创建、同步、锁等知识。...

    树莓派编程入门与实战--Python.rar

    第16章 正则表达式 257 第17章 异常处理 274 第四部分 图形化编程 第18章 GUI编程 295 第19章 游戏编程 315 第五部分 业务编程 第20章 使用网络 341 第21章 在程序中使用数据库 361 第22章 Web编程 379 第六部分 ...

    正则表达式(regex)入门、元字符(特殊字符)学习与提高

    什么是正则表达式呢? 正则表达式,又称正规表示法、常规表示法(英语:...目前常见程序语言(php,perl,python,java,c#)都支持高级正则表达式。 我们为什么要学习正则表达式? 高级程序语言的正则表达式几乎都从perl语

    python源码笔记实战 物超所值

    10-正则表达式 11-Git 12-电子词典 13-HTMLCSS第一部分 14-HTML&CSS第二部分 15-前端项目 16- flask 17- Ajax 18-博客项目 19-Django 20-天天果园项目 21-爬虫基础 22-爬虫高级 23-Numpy基础,数据分析 24-机器学习...

    Python高级编程

    文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。 数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft ...

    Python 核心编程 第二版.azw3

    本书是经典的Python [1] ...第2部分则提供了各种高级主题来展示可以使用Python做些什么,包括正则表达式、网络编程、网络客户端编程、多线程编程、图形用户界面编程、Web编程、数据库编程、扩展Python 和一些其他材料。

    Python 笔记源码【笔记+教程+示例源码】.zip

    10-正则表达式 17- Ajax 05-面向对象 02-Python基础第一部分 09-MongoDB数据库 04-Python基础第三部分 03-Python基础第=二部分 30-.人脸识别 27-支持向量机,聚类 28-推荐引擎,自然语言 26-朴素贝叶斯分类 29-语言...

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

    正则表达式对于Python来说并不是独有的,最近在把google搜索的结果中所有的站点地址导出,于是想到用python正则表达式提取搜索结果中的站点地址。 这其中涉及几个需要解决的问题: 1、获取搜索的结果文本 为了获得更...

    Python 核心编程 第二版.mobi

    本书是经典的Python [1] ...第2部分则提供了各种高级主题来展示可以使用Python做些什么,包括正则表达式、网络编程、网络客户端编程、多线程编程、图形用户界面编程、Web编程、数据库编程、扩展Python 和一些其他材料。

    Python核心编程第二版 高清文字版

    Python核心编程第二版 高清文字版 带详细书签!!! 本书适合Python初学者,以及已经入门但想继续学习和提高自身Python技巧的程序员。...第15章 正则表达式 第16章 网络编程 ... 第23章 其他话题

    Python 核心编程 第二版

    第2部分则提供了各种高级主题来展示可以使用Python做些什么,包括正则表达式、网络编程、网络客户端编程、多线程编程、图形用户界面编程、 Web编程、数据库编程、扩展Python 和一些其他材料。  本书适合Python初学...

Global site tag (gtag.js) - Google Analytics