Python中的正则表达式 - 我的天地

Python中的正则表达式

rurutia posted @ 2007年4月12日 03:38 in 编程笔记 with tags python 正则表达式 , 11188 阅读

简单的介绍一下正则表达式在python的用法。

正则表达式在python中作为一个模块存在,re模块,所以要想应用正则,先要import re模块:

import re

正则表达式本身是一段字符串,为了加速正则匹配的过程,要先将正则表达式“编译”成一个正则表达式对象(这里举例用“(\d+)\.(\d*)”,用来匹配像3.14159这样的表达小数的字符串,并包含了整数和小数部分的分组信息):

r=re.compile(r'(\d+)\.(\d*)')

r就是所谓的正则表达式对象了,正则是用来匹配字符串的,所以其中最重要的一个方法就是match(str),这个方法返回另一个对象,叫做MatchObject,其中包含了关于匹配的信息:

m=r.match("3.14159")

m就是所谓的MatchObject,其中最重要的方法就是group(n),返回分组匹配的字符串,group(1)就对应正则中的“\1”,group(2)就对应“\2”,依次类推,group(0)返回整个匹配字符串:

>>>m.group(0)
'3.14159'
>>>m.group(1)
'3'
>>>m.group(2)
'14159'

还有两个方法start(n)、end(n),返回分组n的开始和结束的位置:

>>>m.start(2)
2
>>>m.end(2)
7

上面就是匹配的基本用法,正则另外一个重要的应用就是替换,是用正则表达式对象的sub()方法来实现的:

>>>r.sub('4.\\2','3.14159')
'4.14159'

值得一提的是,如果只需要提取分组部分的内容,那么group(n)要比sub()快的多,比如我们要提取3.14159的小数部分,那么:

r.match("3.14159").group(2)

要比

r.sub('\\2','3.14159')

快上很多。

Avatar_small
ali 说:
2018年3月18日 05:42

هل تريد شركة لرش مبيد تحتاج شركة لرش المبيدات اليكم الحل <a href="https://www.nileriyadh.com/%d8%b4%d8%b1%d9%83%d8%a9-%d8%b1%d8%b4-%d9%85%d8%a8%d9%8a%d8%af%d8%a7%d8%aa-%d8%a8%d8%a7%d9%84%d8%b1%d9%8a%d8%a7%d8%b6/">شركة رش مبيدات بالرياض الصفرات </a>
<a href="https://www.nileriyadh.com/%d8%b4%d8%b1%d9%83%d8%a9-%d8%b1%d8%b4-%d8%af%d9%81%d8%a7%d9%86-%d8%a8%d8%a7%d9%84%d8%b1%d9%8a%d8%a7%d8%b6/">افضل شركة رش دفان بالرياض الصفرات</a>-<a href="https://www.nileriyadh.com/%d8%b4%d8%b1%d9%83%d8%a9-%d9%85%d9%83%d8%a7%d9%81%d8%ad%d8%a9-%d8%a7%d9%84%d9%86%d9%85%d9%84-%d8%a7%d9%84%d8%a7%d8%a8%d9%8a%d8%b6-%d8%a8%d8%a7%d9%84%d8%b1%d9%8a%d8%a7%d8%b6/">الصفرات لمكافحة النمل الابيض بالرياض</a>
تعانى من كثره الفئران فى بيتك او شركتك تريد التخلص من تلك الفئران الحل مع <a href="https://www.nileriyadh.com/%d8%b4%d8%b1%d9%83%d8%a9-%d9%85%d9%83%d8%a7%d9%81%d8%ad%d8%a9-%d9%81%d8%a6%d8%b1%d8%a7%d9%86-%d8%a8%d8%a7%d9%84%d8%b1%d9%8a%d8%a7%d8%b6/">شركة مكافحة الفئران بالرياض الصفرات</a>
<a href="https://www.nileriyadh.com/%d8%b4%d8%b1%d9%83%d8%a9-%d9%85%d9%83%d8%a7%d9%81%d8%ad%d8%a9-%d8%ad%d8%b4%d8%b1%d8%a7%d8%aa-%d8%a8%d8%a7%d9%84%d8%b1%d9%8a%d8%a7%d8%b6/">شركة مكافحة الصراصير بالرياض الصفرات</a>
<a href="https://www.nileriyadh.com/%d8%b4%d8%b1%d9%83%d8%a9-%d9%85%d9%83%d8%a7%d9%81%d8%ad%d8%a9-%d8%ad%d8%b4%d8%b1%d8%a7%d8%aa-%d8%a8%d8%a7%d9%84%d8%b1%d9%8a%d8%a7%d8%b6/">شركة مكافحة النمل الاسود بالرياض الصفرات</a>
<a href="https://www.nileriyadh.com/%d8%b4%d8%b1%d9%83%d8%a9-%d9%85%d9%83%d8%a7%d9%81%d8%ad%d8%a9-%d8%ad%d8%b4%d8%b1%d8%a7%d8%aa-%d8%a8%d8%a7%d9%84%d8%b1%d9%8a%d8%a7%d8%b6/">شركة مكافحة الناموس بالرياض الصفرات</a>
<a href="https://www.nileriyadh.com/%d8%b4%d8%b1%d9%83%d8%a9-%d9%85%d9%83%d8%a7%d9%81%d8%ad%d8%a9-%d8%ad%d8%b4%d8%b1%d8%a7%d8%aa-%d8%a8%d8%a7%d9%84%d8%b1%d9%8a%d8%a7%d8%b6/">شركة مكافحة الهاموش بالرياض الصفرات</a>
<a href="https://www.nileriyadh.com/%d8%b4%d8%b1%d9%83%d8%a9-%d9%85%d9%83%d8%a7%d9%81%d8%ad%d8%a9-%d8%ad%d8%b4%d8%b1%d8%a7%d8%aa-%d8%a8%d8%a7%d9%84%d8%b1%d9%8a%d8%a7%d8%b6/">شركة الصفرات مكافحة الحشرات بالرياض</a>
<a href="https://www.nileriyadh.com/%d8%b4%d8%b1%d9%83%d8%a9-%d8%b1%d8%b4-%d9%85%d8%a8%d9%8a%d8%af%d8%a7%d8%aa-%d8%a8%d8%a7%d9%84%d8%ae%d8%b1%d8%ac/">شركة الصفرا لرش المبيدات بالخرج</a>


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter
Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee