`
csu丫丫
  • 浏览: 12072 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

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中正则表达式的用法

    1.python语法 2.python正则表达式的用法 3.适合初学者

    Python中正则表达式使用的几种方法.zip

    python 正则表达式,Python 提供了一个名为 re 的模块,该模块提供了正则表达式相关的操作,是一些基本的正则表达式操作,更复杂的操作可以参考 Python 的 re 模块文档。

    第11.20节 Python 中正则表达式的扩展功能:后视断言、后视取反.rar

    本节我们将深入探讨这两个扩展功能,并通过实例解析它们的使用方法。 首先,让我们理解什么是后视断言。后视断言允许我们在匹配某个字符串时检查其后面是否跟随着特定的模式,但不包含这部分后续文本。这在我们需要...

    第11.21节 Python 中正则表达式的其他扩展功能.rar

    在Python编程语言中,正则表达式(Regular Expression)是一个强大的文本处理工具,它能用于查找、替换或者提取符合特定模式的字符串。本节将详细探讨Python正则表达式的其他扩展功能,帮助开发者深入理解并有效利用...

    python中正则表达式 re.findall 用法

    Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。...本文主要给大家介绍python中正则表达式 re.findall 用法,具体内容如下所示; 在python中,

    Python中正则表达式的用法实例汇总

    以下是关于Python中正则表达式用法的详细知识点汇总。 1. 字符串替换 在Python中,可以使用正则表达式对字符串进行替换操作,以newstring替换subject中所有与正则表达式regex匹配的子串。其中,re模块提供了一个re....

    Python中正则表达式的用法总结

    group()方法返回匹配到的整个字符串,而groups()方法则返回一个包含所有捕获组内容的元组,这是因为正则表达式中可以通过圆括号定义一个或多个子组(分组)。例如,在字符串“***”中,如果我们只对“@”符号前的...

    python中正则表达式的使用方法

    以下是一些关键的正则表达式概念和在Python中的使用方法: 1. **匹配模式**: - `.`:匹配除换行符`\n`之外的任何字符。使用`re.S`或`re.DOTALL`标志可以让`.`匹配包括换行符在内的任何字符。 - `*`:匹配前面的...

    Java中正则表达式使用方法详解

    本文接下来的内容先简要地介绍正则表达式的入门知识,然后以Jakarta-ORO API为例介绍如何使用正则表达式。 一、正则表达式基础知识 我们先从简单的开始。假设你要搜索一个包含字符“cat”的字符串,搜索用的正则...

    python中正则表达式与模式匹配

    在Python中,`re.compile()`函数用于编译正则表达式,`findall()`方法则用于在给定的文本中找到所有匹配的字符串,并返回一个列表。例如,对于电话号码的正则表达式,可能包含多个部分,如区号、主号码、分机号等,...

    [Python]网络爬虫(七):Python中的正则表达式教程.pdf

    1. Python中正则表达式的介绍 Python中的正则表达式是通过标准库`re`来实现的。它可以用于搜索、匹配和替换文本中的字符串模式。在Python中,正则表达式是一种灵活、强大的工具,被广泛应用于字符串处理,尤其是在...

    Python中正则表达式小结

    正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别...

    Python-Regex-01:使用Python的正则表达式教程

    Python正则表达式01 该存储库包含一个简单的Python程序,该程序显示了Python中正则表达式的用法。 为了具有一些有意义的正则表达式,使用了一个包含从澳大利亚气象局(BOM)获得的气象信息的数据文件。 使用Python的...

Global site tag (gtag.js) - Google Analytics