`

Python中re模块常用函数

 
阅读更多

re.match

  re.match 尝试从字符串的开始匹配一个模式,如:下面的例子匹配第一个单词。

import re 
 
text = "JGood is a handsome boy, he is cool, clever, and so on..." 
m = re.match(r"(\w+)\s", text) 
if m: 
    print m.group(0), '\n', m.group(1) 
else: 
    print 'not match' 
import re text = "JGood is a handsome boy, he is cool, clever, and so on..." m = re.match(r"(\w+)\s", text) if m: print m.group(0), '\n', m.group(1) else: print 'not match'
re.match的函数原型为:re.match(pattern, string, flags)

第一个参数是正则表达式,这里为"(\w+)\s",如果匹配成功,则返回一个Match,否则返回一个None;

第二个参数表示要匹配的字符串;

第三个参数是标致位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

re.search

  re.search函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回,如果字符串没有匹配,则返回None。

import re 
 
text = "JGood is a handsome boy, he is cool, clever, and so on..." 
m = re.search(r'\shan(ds)ome\s', text) 
if m: 
    print m.group(0), m.group(1) 
else: 
    print 'not search' 
import re text = "JGood is a handsome boy, he is cool, clever, and so on..." m = re.search(r'\shan(ds)ome\s', text) if m: print m.group(0), m.group(1) else: print 'not search'
re.search的函数原型为: re.search(pattern, string, flags)

每个参数的含意与re.match一样。

re.match与re.search的区别:re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

re.sub

  re.sub用于替换字符串中的匹配项。下面一个例子将字符串中的空格 ' ' 替换成 '-' :

import re 
 
text = "JGood is a handsome boy, he is cool, clever, and so on..." 
print re.sub(r'\s+', '-', text) 
import re text = "JGood is a handsome boy, he is cool, clever, and so on..." print re.sub(r'\s+', '-', text)
re.sub的函数原型为:re.sub(pattern, repl, string, count)

其中第二个函数是替换后的字符串;本例中为'-'

第四个参数指替换个数。默认为0,表示每个匹配项都替换。

re.sub还允许使用函数对匹配项的替换进行复杂的处理。如:re.sub(r'\s', lambda m: '[' + m.group(0) + ']', text, 0);将字符串中的空格' '替换为'[ ]'。

re.split

  可以使用re.split来分割字符串,如:re.split(r'\s+', text);将字符串按空格分割成一个单词列表。

re.findall

  re.findall可以获取字符串中所有匹配的字符串。如:re.findall(r'\w*oo\w*', text);获取字符串中,包含'oo'的所有单词。

re.compile

  可以把正则表达式编译成一个正则表达式对象。可以把那些经常使用的正则表达式编译成正则表达式对象,这样可以提高一定的效率。下面是一个正则表达式对象的一个例子:

import re 
 
text = "JGood is a handsome boy, he is cool, clever, and so on..." 
regex = re.compile(r'\w*oo\w*') 
print regex.findall(text)   #查找所有包含'oo'的单词 
print regex.sub(lambda m: '[' + m.group(0) + ']', text) #将字符串中含有'oo'的单词用[]括起来。 
import re text = "JGood is a handsome boy, he is cool, clever, and so on..." regex = re.compile(r'\w*oo\w*') print regex.findall(text) #查找所有包含'oo'的单词 print regex.sub(lambda m: '[' + m.group(0) + ']', text) #将字符串中含有'oo'的单词用[]括起来。
  更详细的内容,可以参考Python手册。
分享到:
评论

相关推荐

    python_re模块.pdf

    Python中的re模块是专门用来进行正则表达式匹配的库。正则表达式是一种文本模式匹配工具,它描述了一种字符串匹配的规则,通常用于搜索、替换或提取字符串中符合某种模式的文本。 在Python中使用re模块,首先需要...

    python3 标准模块实例学习 原版

    4. `requests`模块(非标准库,但常用):用于发送HTTP请求,是Python网络编程中的重要工具。 5. `json`模块:用于JSON(JavaScript Object Notation)数据格式的编码和解码,常用于数据交换。 6. `re`模块:提供...

    python正则re模块详解.pdf

    【Python正则表达式re模块详解】 Python的re模块提供了强大的正则表达式处理功能,支持Perl风格的正则表达式。自Python 1.5版本以来,re模块成为标准库的一部分,替代了早期的regex模块,后者由于可读性和功能限制...

    python面试常用的常用38题

    Python中的re模块可以用来处理正则表达式。例如,re.split(r':| ', 'info:xiaoZhang 33 shandong')可以用来切分字符串。 36. 怎么样在函数内修改全局变量 Python中的global语句可以用来修改全局变量。 37. 简述...

    学学Python_60标准模块8 re模块

    re模块主要函数的了解,对应文件:StandardLibrary10。文章:https://blog.csdn.net/yysyangyangyangshan/article/details/85149128

    python的re模块总结.pdf

    Python的re模块是Python标准库中的一个用于字符串匹配和处理的模块,提供了对正则表达式的支持。正则表达式是一种强大的文本处理工具,它允许用户通过定义一系列的规则来查找或匹配特定模式的字符串。 知识点1:raw...

    python_re模块.docx

    Python中的`re`模块是一个强大的文本处理工具,它提供了正则表达式的相关功能,用于在字符串中进行模式匹配和查找。正则表达式是一种特殊的字符序列,可以用来描述复杂的字符串匹配规则。在Python中,使用`import re...

    python常用函数与模块函数通俗讲解

    print(‘a’,’b‘,’c’) 打印多个元素处理 print(‘1+1=’,1+1) 前面字符串,后面是计算结果 print(objects, sep=’ ‘, end=’’) 打印(内容,用什么分割内容,用什么结尾) a = input(’’) ...

    2023年Python正则表达式re模块简明笔记.docx

    在Python中,我们可以使用内置的re模块来使用正则表达式。有一点需要特别注意的是,正则表达式使用\对特殊字符进行转义,比如,为了匹配字符串‘python.org),我们需要使用正则表达式'python\.org',而Python的字符...

    python的re模块总结.docx

    Python的`re`模块是处理正则表达式的核心工具,提供了丰富的函数和操作符用于文本匹配、查找、替换等任务。在Python中,由于字符串字面量需要对反斜杠`\`进行转义,因此在编写正则表达式时会显得复杂。为了解决这个...

    Python编程之Re模块下的函数介绍

    re模块下的函数 compile(pattern):创建模式对象 import re pat=re.compile('A') m=pat.search('CBA') #等价于 re.search('A','CBA') print m <_sre.SRE_Match object at 0x9d690c8> #匹配到了,返回Match...

    一文秒懂python正则表达式常用函数

    Re模块是python的内置模块,提供了正则表达式在python中的所有用法,默认安装位置在python根目录下的Lib文件夹(如 ..\Python\Python37\Lib)。主要提供了3大类字符串操作方法: 字符查找/匹配 字符替换 字符分割...

    python正则re模块

    indall函数返回的总是正则表达式在字符串中所有匹配结果的列表list,此处主要讨论列表中“结果”的展现方式,即findall中返回列表中每个元素包含的信息。 1.当给出的正则表达式中带有多个括号时,列表的元素为多个...

    老男孩 Python 自动化开发 03 Python模块化编程 函数式编程 三元编程 lambda 装饰器 共17页.pptx

    `re`模块提供了正则表达式功能,可以用于文本匹配和搜索,如`re.compile`编译正则模式,`search`或`findall`在文本中查找匹配项。正则表达式有许多预定义的字符类,如`\d`表示数字,`\w`表示字母数字字符,`\t`表示...

    python内置函数大全

    re模块提供了正则表达式操作,用于复杂的文本匹配和处理;textwrap模块可以对文本进行自动换行和填充操作。在二进制数据服务方面,struct模块可以解释二进制数据为打包的字节;codecs模块提供了编解码器注册表和基础...

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

    为了使代码更易于理解和维护,可以将正则表达式封装到类或函数中。例如,创建一个`RegexMatcher`类,该类接受一个正则表达式作为输入,并提供匹配、查找等方法: ```python class RegexMatcher: def __init__(self...

Global site tag (gtag.js) - Google Analytics