`
meiowei
  • 浏览: 147748 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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)
    # match start: match.start()
    # match end (exclusive): atch.end()
    # 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):
    do_something()
else:
    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):
    do_something()
else:
    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:
    # match start: match.start()
    # match end (exclusive): atch.end()
    # matched text: match.group()
    do_something()
else:
    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:
    result = match.group()
else:
    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:
    result = match.group(1)
else:
    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:
    result = match.group("groupname")
else:
    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):
    # match start: match.start()
    # match end (exclusive): match.end()
    # 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正则表达式匹配不包含某几个字符的字符串方法

    最后,我们来总结一下使用Python正则表达式匹配不包含某几个字符的字符串需要注意的几个关键点: 1. 理解正则表达式的基本组成,包括元字符、量词、分组等; 2. 熟悉如何通过使用否定字符集`[^...]`来排除不想匹配的...

    python 正则表达式大全

    ### Python正则表达式大全 #### 一、概述 Python 的正则表达式库 `re` 提供了一系列功能强大的工具来处理字符串模式匹配任务。正则表达式是一种强大的文本处理工具,可以用来查找、替换符合特定模式的文本。在...

    Python正则表达式视频

    Python正则表达式是Python编程语言中的一个强大工具,它用于处理字符串,特别是搜索、匹配、替换等操作。在爬虫开发中,正则表达式是必不可少的一部分,因为我们需要使用它来提取网页上的数据。本视频教程将深入浅出...

    python正则表达式例子

    下面将结合具体的例子来详细介绍正则表达式的使用方法及其应用场景。 ### 1. 分析表空间使用率 在第一个例子中,我们需要检查表空间的使用情况是否超过了75%。这里使用了正则表达式 `r"\s+(\d+)\s+"` 来匹配包含...

    Python正则表达式使用经典实例

    下面列出Python正则表达式的几种匹配用法,具体内容如下所示: 此外,关于正则的一切http://deerchao.net/tutorials/regex/regex.htm 1.测试正则表达式是否匹配字符串的全部或部分 regex=ur #正则表达式 if re....

    Python正则表达式操作指南

    Python正则表达式操作指南是一份详细的教学文档,旨在帮助用户了解如何在Python中使用`re`模块进行正则表达式操作。这份指南相较于Python库参考手册的相关章节,更加注重易懂性和逐步引导。文档作者是A.M. Kuchling...

    python正则表达式 匹配反斜杠的操作方法

    本文详细介绍在Python正则表达式中匹配反斜杠的方法,并对Python字符串和正则表达式中的反斜杠处理给出说明。 ### Python正则表达式中的反斜杠 在Python的正则表达式中,反斜杠(\)是一个特殊的元字符,用于转义...

    基于Python正则表达式的彩票信息爬取.pdf

    本文介绍了一种利用Python正则表达式技术爬取中国福利彩票官方网站上奖池数据的方法。 #### 二、网络爬虫基本步骤 网络爬虫的实施通常遵循以下步骤: 1. **明确目标**:首先要明确爬取的目标网站和所需数据的具体...

    正则表达式.doc 正则表达式

    正则表达式是一种强大的文本处理工具,用于模式匹配和字符串搜索。它是由特定字符组成的字符串,用于定义要在文本中查找的模式。正则表达式在多种编程语言和工具中被广泛支持,包括Java、Perl、PHP、Python、...

    利用正则表达式巧妙解析度分秒格式字符串

    在这个`ParseDMS`方法中,我们首先创建了一个正则表达式实例,然后使用`Match`方法尝试找到匹配的度分秒字符串。如果匹配成功,我们就提取出度、分和秒,将它们转换为浮点数并计算总度数。如果输入的字符串格式不...

    Python程序员必会的正则表达式

    "Python程序员必会的正则表达式" ...正则表达式是一种非常强大的工具,Python 语言通过 re 模块提供了对正则表达式的支持,Python 程序员需要熟练掌握正则表达式的使用,以便更好地处理字符串操作。

    正则表达式学习心得 v1.0

    本文旨在分享作者在学习正则表达式过程中的心得体验,并重点介绍了几种常见编程语言(Python、C#、PHP)及文本编辑器(Notepad++)中正则表达式的使用技巧。此外,还特别对比了不同语言之间正则表达式的异同之处。 ...

    Python-使用纯python类函数语法编写正则表达式并更好地进行测试

    在Python编程中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许我们通过模式匹配来查找、替换或提取字符串中的特定模式。在本主题中,我们将探讨如何使用纯Python类和函数语法来编写正则表达式...

    python使用正则表达式匹配字符串开头并打印示例

    在Python中使用正则表达式匹配字符串开头并打印的示例涉及到几个重要的知识点,包括正则表达式的编写、Python中的正则表达式库re的使用、以及如何利用正则表达式提取特定模式的字符串。以下是对这些知识点的详细介绍...

    Java及python正则表达式详解

    ### Java及Python正则表达式详解 #### 一、正则表达式简介 正则表达式是一种用于描述字符串模式的强大工具。它可以帮助我们快速高效地完成字符串搜索、替换等操作。正则表达式由一系列字符和特殊符号组成,用于...

    Python 正则表达式.docx

    ### Python中的正则表达式详解 #### 一、引言 正则表达式(Regular Expression),...掌握了正则表达式的使用方法后,你将能够更高效地处理字符串数据。希望本文能帮助你更好地理解和应用Python中的正则表达式技术。

    Python正则表达式如何匹配中文

    在Python中进行中文字符的正则表达式匹配是一项常见的文本处理任务,...通过理解和掌握Unicode编码、正则表达式的构成和使用方法,以及Python的re模块,可以极大地提高文本处理的能力,满足各种复杂的字符串匹配需求。

    PYTHON正则表达式

    ### PYTHON正则表达式的知识点详解 #### 一、简介 Python自1.5版本开始引入了`re`模块,提供了类似Perl风格的正则表达式支持。正则表达式(Regular Expression, RE)是一种用于匹配字符串的语言,它可以用来判断一...

    精通正则表达式(第3版).pdf

    优化的方法包括使用非捕获组减少不必要的计算、使用特定的API而不是通过复杂的正则表达式来处理等。 由于正则表达式涉及到很多细节,编写一本书来全面介绍它是一项浩大的工程。精通正则表达式第3版这类书籍会详细地...

    正则表达式30 分钟入门教程

    过于复杂的正则表达式或不恰当的使用方法可能会导致性能下降甚至程序崩溃。 最后,正则表达式是一个庞大且不断发展的领域,存在许多高级特性,如平衡组/递归匹配等,它们可以处理更加复杂和特定的文本处理需求。...

Global site tag (gtag.js) - Google Analytics