常见python正则用法的简单实例

 更新时间:2016年06月21日 16:17:36   投稿:jingxian  
下面小编就为大家带来一篇常见python正则用法的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

下面列出Python正则表达式的几种匹配用法:

1.测试正则表达式是否匹配字符串的全部或部分

regex=ur"" #正则表达式
if re.search(regex, subject):
do_something()
else:
do_anotherthing()

2.测试正则表达式是否匹配整个字符串

regex=ur"\Z" #正则表达式末尾以\Z结束
if re.match(regex, subject):
    do_something()
else:
    do_anotherthing()

3.创建一个匹配对象,然后通过该对象获得匹配细节(Create an object with details about how the regex matches (part of) a string)

regex=ur"" #正则表达式
match = re.search(regex, subject)
if match:
    # match start: match.start()
    # match end (exclusive): atch.end()
    # matched text: match.group()
    do_something()
else:
    do_anotherthing()

4.获取正则表达式所匹配的子串(Get the part of a string matched by the regex)

regex=ur"" #正则表达式
match = re.search(regex, subject)
if match:
    result = match.group()
else:
    result = ""

5. 获取捕获组所匹配的子串(Get the part of a string matched by a capturing group)

regex=ur"" #正则表达式
match = re.search(regex, subject)
if match:
    result = match.group(1)
else:
    result = ""

6. 获取有名组所匹配的子串(Get the part of a string matched by a named group)

regex=ur"" #正则表达式
match = re.search(regex, subject)
if match:
result = match.group"groupname")
else:
result = ""

7. 将字符串中所有匹配的子串放入数组中(Get an array of all regex matches in a string)

result = re.findall(regex, subject)

8.遍历所有匹配的子串(Iterate over all matches in a string)

for match in re.finditer(r"<(.*?)\s*.*?/\1>", subject)
&nbsp;&nbsp;&nbsp;&nbsp;# match start: match.start()
&nbsp;&nbsp;&nbsp;&nbsp;# match end (exclusive): atch.end()
&nbsp;&nbsp;&nbsp;&nbsp;# matched text: match.group()

9.通过正则表达式字符串创建一个正则表达式对象(Create an object to use the same regex for many operations)

reobj = re.compile(regex)

10.用法1的正则表达式对象版本(use regex object for if/else branch whether (part of) a string can be matched)

reobj = re.compile(regex)
if reobj.search(subject):
&nbsp;&nbsp;&nbsp;&nbsp;do_something()
else:
&nbsp;&nbsp;&nbsp;&nbsp;do_anotherthing()

11.用法2的正则表达式对象版本(use regex object for if/else branch whether a string can be matched entirely)

reobj = re.compile(r"\Z") #正则表达式末尾以\Z 结束
if reobj.match(subject):
&nbsp;&nbsp;&nbsp;&nbsp;do_something()
else:
&nbsp;&nbsp;&nbsp;&nbsp;do_anotherthing()

12.创建一个正则表达式对象,然后通过该对象获得匹配细节(Create an object with details about how the regex object matches (part of) a string)

reobj = re.compile(regex)
match = reobj.search(subject)
if match:
&nbsp;&nbsp;&nbsp;&nbsp;# match start: match.start()
&nbsp;&nbsp;&nbsp;&nbsp;# match end (exclusive): atch.end()
&nbsp;&nbsp;&nbsp;&nbsp;# matched text: match.group()
&nbsp;&nbsp;&nbsp;&nbsp;do_something()
else:
&nbsp;&nbsp;&nbsp;&nbsp;do_anotherthing()

13.用正则表达式对象获取匹配子串(Use regex object to get the part of a string matched by the regex)

reobj = re.compile(regex)
match = reobj.search(subject)
if match:
&nbsp;&nbsp;&nbsp;&nbsp;result = match.group()
else:
&nbsp;&nbsp;&nbsp;&nbsp;result = ""

14.用正则表达式对象获取捕获组所匹配的子串(Use regex object to get the part of a string matched by a capturing group)

reobj = re.compile(regex)
match = reobj.search(subject)
if match:
&nbsp;&nbsp;&nbsp;&nbsp;result = match.group(1)
else:
&nbsp;&nbsp;&nbsp;&nbsp;result = ""

15.用正则表达式对象获取有名组所匹配的子串(Use regex object to get the part of a string matched by a named group)

reobj = re.compile(regex)
match = reobj.search(subject)
if match:
&nbsp;&nbsp;&nbsp;&nbsp;result = match.group("groupname")
else:
&nbsp;&nbsp;&nbsp;&nbsp;result = ""

16.用正则表达式对象获取所有匹配子串并放入数组(Use regex object to get an array of all regex matches in a string)

reobj = re.compile(regex)
result = reobj.findall(subject)

17.通过正则表达式对象遍历所有匹配子串(Use regex object to iterate over all matches in a string)

reobj = re.compile(regex)
for match in reobj.finditer(subject):
&nbsp;&nbsp;&nbsp;&nbsp;# match start: match.start()
&nbsp;&nbsp;&nbsp;&nbsp;# match end (exclusive): match.end()
&nbsp;&nbsp;&nbsp;&nbsp;# matched text: match.group()

字符串替换

1.替换所有匹配的子串

#用newstring替换subject中所有与正则表达式regex匹配的子串
result = re.sub(regex, newstring, subject)

2.替换所有匹配的子串(使用正则表达式对象)

reobj = re.compile(regex)
result = reobj.sub(newstring, subject)

字符串拆分

1.字符串拆分

result = re.split(regex, subject)

2.字符串拆分(使用正则表示式对象)

reobj = re.compile(regex)
result = reobj.split(subject)

以上这篇常见python正则用法的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • django实现同一个ip十分钟内只能注册一次的实例

    django实现同一个ip十分钟内只能注册一次的实例

    下面小编就为大家带来一篇django实现同一个ip十分钟内只能注册一次的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Python基于locals返回作用域字典

    Python基于locals返回作用域字典

    这篇文章主要介绍了Python基于locals返回作用域字典,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 使用python加密自己的密码

    使用python加密自己的密码

    本文给大家分享的是使用python加密自己的密码的思路和代码,非常的简单实用,有需要的小伙伴可以参考下。
    2015-08-08
  • Python中的Classes和Metaclasses详解

    Python中的Classes和Metaclasses详解

    这篇文章主要介绍了Python中的Classes和Metaclasses详解,属于基础知识中类与对象的概念部分的深入,需要的朋友可以参考下
    2015-04-04
  • Phantomjs抓取渲染JS后的网页(Python代码)

    Phantomjs抓取渲染JS后的网页(Python代码)

    phantomjs:我的理解就是它是一个无显示的浏览器,也就是说除了不能显示页面内容以外,浏览器能干的活儿它基本上都能干。下面我们就来利用他做点有趣的事情
    2016-05-05
  • python实现决策树ID3算法的示例代码

    python实现决策树ID3算法的示例代码

    这篇文章主要介绍了python实现决策树ID3算法的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • python实现布隆过滤器及原理解析

    python实现布隆过滤器及原理解析

    布隆过滤器( BloomFilter )是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”。这篇文章主要介绍了python实现布隆过滤器 ,需要的朋友可以参考下
    2019-12-12
  • Python实现手势识别

    Python实现手势识别

    这篇文章主要介绍了Python如何实现手指指尖的检测,并且可以在windows系统下通过判断手指数目,来模拟键盘操作,感兴趣的朋友可以了解下
    2020-10-10
  • 浅谈pycharm出现卡顿的解决方法

    浅谈pycharm出现卡顿的解决方法

    今天小编就为大家分享一篇浅谈pycharm出现卡顿的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python编程中对文件和存储器的读写示例

    Python编程中对文件和存储器的读写示例

    这篇文章主要介绍了Python编程中对文件和存储器的读写示例,包括使用cPickle储存器存储对象的例子,需要的朋友可以参考下
    2016-01-01

最新评论