python中re模块(正则表达式模块)的使用学习

原创 2016年06月01日 19:52:29

re.match

  • 在字符串的开始位置匹配,如果匹配成功将返回MatchObject(值为True),否则返回None(值为False)。
  • 函数原型
def match(pattern, string, flags=0)
  • 参数说明
    • pattern:正则表达式
    • string:要匹配的字符串
    • flags:控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等

re.search

  • 检测整个字符串,找到第一个匹配项,如果匹配成功将返回MatchObject(值为True),否则返回None(值为False)。
  • 函数原型
def search(pattern, string, flags=0)
  • 参数说明
    • pattern:正则表达式
    • string:要匹配的字符串
    • flags:控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等

re.sub

  • 将字符串中的匹配项替换为其他
  • 函数原型
def sub(pattern, repl, string, count=0, flags=0)
  • 参数说明
    • pattern:正则表达式,匹配被替换的项
    • repl:替换为该项
    • string:要匹配的字符串
    • count:替换的个数,默认为0时表示全部替换

re.split

  • 根据匹配项来分割字符串
  • 函数原型
def split(pattern, string, maxsplit=0, flags=0)
  • 参数说明
    • pattern:正则表达式
    • string:要匹配的字符串
    • maxsplit:最大的分割次数,默认为0时表示全部分割

re.findall

  • 获取字符串中的所有匹配项
  • 函数原型
def findall(pattern, string, flags=0)
  • 参数说明
    • pattern:正则表达式
    • string:要匹配的字符串

re.compile

  • 把正则表达式(以字符串书写的)编译成一个模式对象,提高一定的匹配效率,可用来重复使用
  • 函数原型
def compile(pattern, flags=0)
  • 参数说明
    • pattern:正则表达式

实例展示

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
功能:学习re模块
时间:2016年6月1日 18:31:01
"""

import re

text = u"这是一个测试句。这是第二个测试句。这是第三个测试句。"

# re.match
a = re.match(u"这是", text)
print u"match " + a.group(0) if a else u"not match"

# re.search
b = re.search(u"一个", text)
print u"search " + b.group(0) if b else u"not search"

# re.sub
c = re.sub(u"测试", u"【测试】", text)
d = re.sub(u"测试", u"【测试】", text, count=1)  # 替换一个
print c, "\n", d

# re.split
e = re.split(u"。", text)
print "\n".join(e)
f = re.split(u"(。)", text)  # 加括号表示保留
print "\n".join(f)

# re.findall
g = re.findall(u"[\u4e00-\u9fa5]+。", text)  # 匹配中文句子
print "\n".join(g)
版权声明:本文为博主 http://blog.csdn.net/churximi 原创文章,未经允许不得转载,谢谢。

相关文章推荐

python中汉字匹配

在python中要匹配汉字的话要转化为utf-8编码,汉字编码的范围在\u4e00-\u9fa5之内,就好比数字在0-9之内一样 之间,不说废话,具体看看怎么实现的把 import re te...

python 正则表达式 之re.findall

python 正则表达式 re findall 方法能够以列表的形式返回能匹配的子串。 re.findall(pattern, string[, flags]): 搜索string,以列表形式返回全...

正则表达式匹配中文[\u4e00-\u9fa5]和[^\x00-\xff]

[\u4e00-\u9fa5]+ 匹配一个或多个中文 [\u4e00-\u9fa5] 只匹配一个中文 它们并不匹配¥%^&*等字符啊,做个简单的测试就知道了。 import java.util.re...

Python3的re.match()、re.search()和re.findall()

最近刚学习了Python3 的re模块,对正则表达式有了初步的了解,试着写了个代码发现正则表达式怎么一直不起作用。 结果发现是自己没搞清楚re.match()、re.search()和re.finda...
  • szlcw1
  • szlcw1
  • 2015年11月01日 15:05
  • 20266

python re 模块 findall 函数用法简述

>>> import re >>> s = "adfad asdfasdf asdfas asdfawef asd adsfas " >>> reObj1 = re.compile('((\w+)\...

python re的findall和finditer

python正则模块re中findall和finditer两者相似,但却有很大区别。 两者都可以获取所有的匹配结果,这和search方法有着很大的区别,同时不同的是一个返回list,一个返回一个Ma...

python re 模块 findall 函数用法简述

>>> import re >>> s = "adfad asdfasdf asdfas asdfawef asd adsfas " >>> reObj1 = re.compile('((...

python re 模块 findall 函数用法简述

[python] view plaincopy >>> import re   >>> s = "adfad asdfasdf asdfas asdfawef asd ...

python re 模块 findall 函数用法简述

python re 模块 findall 函数用法简述 分类: Python2013-05-02 11:50 12477人阅读 评论(2) 收藏 举报 [python]...

Python 正则re模块之compile()和findall()详解

下面是Python3.5官方文档里关于的compile的说明: re.compile(pattern, flags=0) Compile a regular expression pattern in...
  • drdairen
  • drdairen
  • 2016年04月12日 16:41
  • 27095
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python中re模块(正则表达式模块)的使用学习
举报原因:
原因补充:

(最多只允许输入30个字)