学习python的正则表达式,主要有两个方面学习:

第一,学习如何写正则表达式,主要是掌握其语法规范。正则表达式的语法规范是通用的,对各种开发语言都是一致的。

第二,学习如何使用正则表达式,也就是掌握python中相应的模块,在python中,通过提供的标准模块 re 来提供相应的使用正则表达式的api

正则表达式的核心作用就是匹配文本片段,即给出一个正则表达式,以及一段文本,看看这段文本中哪些片段是可以与正则表达式匹配的。

利用正则表达式可以实现非常强大的文本处理功能,如匹配、查找、替换、分组等。

例1:我们先来看一个简单例子:

#coding=utf-8
import re #search的第一个参数是 正则表达式,第二个参数是要处理的文本
if re.search('abc','12abc45'): #结果输出find
print "find"
else:
print "None" #search的第一个参数是 正则表达式,第二个参数是要处理的文本
if re.match('abc','12abc45'): #结果输出None
print "find"
else:
print "None"

上面的代码涉及到如下信息:
1)re模块,这是python提供的处理正则表达式的标准模块,包含了很多有用的方法

2)re模块的search方法和match方法,这两个方法都是在给定文本中查找与指定正则表达式第一个相匹配的文本片段。如果找到,返回一个对象,对象中包含了相应的文本片段信息。如果找不到,返回None。所以其查找的结果可以用作条件表达式中。

search与match的区别是,search方法是在整个字符串中查找匹配的字串,而match方法是在开头匹配,也就是说必须开头就要符合。

3)search与match方法的第一个参数就是正在表达式,这里是一个普通的字符串,其实这是最简单的正则表达式。正则表达式最强大的之处就是它有各种元字符。

如  a.b  ,这里的.就是一个特殊字符,可以匹配任何单个字符(除换行符),如re.search('a.c','12axc45') 是可以匹配成功的。

例2:精确匹配的处理

上面介绍的 search 方法是在整个字符串中查找匹配,match方法是从头匹配,但对后面的无要求。

在某些场合下,需要精确匹配,如给定正则表达式为  a.c  ,希望只匹配 axc , abc 等,头尾不希望有多余的字符。

这是可在正则表达式的头加符号︿ ,在结尾加上 $ ,可以强制精确匹配。但然也可以只限制开始 或 结束。

使用 ︿,其实相当于使用match方法。

如:

>>> print re.search('^abc$','abcd')
None
>>> print re.search('^abc$','abc')
<_sre.SRE_Match object at 0x0339A020>

Python正则表达式一: 基本使用方法的更多相关文章

  1. python正则表达式之re模块方法介绍

    python正则表达式之re模块其他方法 1:search(pattern,string,flags=0) 在一个字符串中查找匹配 2:findall(pattern,string,flags=0) ...

  2. python正则表达式--findall、finditer方法

    findall方法 相比其他方法,findall方法有些特殊.它的作用是查找字符串中所有能匹配的字符串,并以结果存于列表中,然后返回该列表 注意: match 和 search 是匹配一次 finda ...

  3. python正则表达式02--findall()和search()方法区别,group()方法

    import re st = 'asxxixxsaefxxlovexxsdwdxxyouxxde' #search()和 findall()的区别 a = re.search('xx(.*?)xxsa ...

  4. python正则表达式基础,以及pattern.match(),re.match(),pattern.search(),re.search()方法的使用和区别

    正则表达式(regular expression)是一个特殊的字符序列,描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子字符串. 将匹配的子字符串替换或者从某个字符串中取出符合某个条件 ...

  5. python正则表达式详解之Match类及其方法

    1.Match对象简介 match对象通常是由正则表达式对象的match 方法,search 方法等经过匹配之后而产生.可以直接当做bool值使用,如果匹配则相当于True, 如果不匹配,则返回Non ...

  6. Python 正则表达式入门(初级篇)

    Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...

  7. python正则表达式re

    Python正则表达式: re 正则表达式的元字符有. ^ $ * ? { [ ] | ( ).表示任意字符[]用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可 ...

  8. Python正则表达式详解

    我用双手成就你的梦想 python正则表达式 ^ 匹配开始 $ 匹配行尾 . 匹配出换行符以外的任何单个字符,使用-m选项允许其匹配换行符也是如此 [...] 匹配括号内任何当个字符(也有或的意思) ...

  9. 比较详细Python正则表达式操作指南(re使用)

    比较详细Python正则表达式操作指南(re使用) Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 E ...

  10. Python正则表达式学习摘要及资料

    摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...

随机推荐

  1. 关于ajax的那些事

    什么是ajax AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. Ajax包含下列技术:基于 ...

  2. JavaScript之call()和apply()方法详解

    简介:apply()和call()都是属于Function.prototype的一个方法属性,它是JavaScript引擎内在实现的方法,因为属于Function.prototype,所以每个Func ...

  3. CentOS 6.2图形界面自定义开启终端快捷键

    菜单: System->Preferences->Keyboard Shortcuts 在Desktop分类下找到"Run a terminal" 点击Run a te ...

  4. SQL server 2008无法连接Local服务器的解决办法

    SQL的有些服务总是在关机的时候自动关闭,然后你可以打开 控制面板——管理工具——服务,然后找到SQL相关的服务,右键——属性,里面有设置,可以设成自动启动

  5. Eclipse\MyEclipse 安装tomcat插件后,还需要配置Tomcat Home

    Eclipse 安装tomcat插件后,配置Tomcat Home的步骤如下: MyEclipse 安装tomcat插件后,配置Tomcat Home的步骤如下:

  6. URL编码解码

    ios url 编码和解码 1.url编码 ios中http请求遇到汉字的时候或者像是%…@#¥%&*这些字符的时候也可以使用下面的方法,需要转化成UTF-8,用到的方法是: NSString ...

  7. 对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。

    在程序中调用C++链接库中的回调函由于没有考虑生命周期,直接写委托回随机的被gc给回收掉导致报这个错误 错误的程序: private void InitPlateIdentify() { try { ...

  8. Java 内省机制

    一.内省 内省(Introspector) 是Java 语言对 JavaBean 类属性.事件的一种缺省处理方法.JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的 ...

  9. Android 中Java和JavaScript交互入门

    如何实现JavaScript 和java 交互 实现Java和js交互十分便捷.通常只需要以下几步. WebView开启JavaScript脚本执行 WebView设置供JavaScript调用的交互 ...

  10. springmvc定时器

    用到的jar包: aopalliance-1.0.jar commons-logging-1.1.3.jar spring-aop-3.2.4.RELEASE.jar spring-beans-3.2 ...