博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
re模块 | Python 3.5
阅读量:6607 次
发布时间:2019-06-24

本文共 2381 字,大约阅读时间需要 7 分钟。

1.提供正则表达式相关操作

2.模式串和匹配串可以是Unicode或8-bit字符串,但不能混用

3.语法

  

  '.' 在DOTALL模式下能匹配'\n'

  '^'、'$'在MULTILINE模式下能匹配多行起始和结束

  (?aiLmsux):

    A: ASCII-only

    I: ignore case

    L: local dependent

    M: multiple line

    S: dot all

    U: Unicode-only

    X: verbose

  (?P<name>...)

  (?P=name)

  (?#...)

  (?<=...)

  (?<!...)

  (?(id/name)yes-pattern|no-pattern)

  \A、\Z匹配字符串起始和结束位置

4.模块内容

  re.compile(pattern, flags=0)

    返回RegexObject对象

    flags有多个时用 '|' 隔开

      re.A  re.ASCII

      re.DEBUG

      re.I   re.IGNORECASE

      re.L   re.LOCAL

      re.M  re.MULTILINE

      re.S   re.DOTALL

      re.X   re.VERBOSE

  re.search(pattern, string, flags=0)

    在string中任意位置匹配,返回第一个匹配到的对象(match object),或返回None

  re.match(pattern, string, flags=0)

    在string起始位置匹配(即使有re.M属性)

  re.fullmatch(pattern, string, flags=0)

    当整个string能被pattern匹配时返回对应的match object,否则返回None

  re.split(pattern, string, maxsplit=0, flags=0)

    用pattern分割string,如果pattern是用括号括起来的,则能被pattern匹配的分割部分也将保留在结果中

    maxsplit不为0时,分割maxsplit次后剩余部分保留在结果中

    若开头(或结尾)能被pattern匹配,则结果列表中会以空串开始(或结束)

    目前: 空pattern将会被忽略,且若pattern可能为空,有FutureWarning,若pattern为空,有ValueError

  re.findall(pattern, string, flags=0)

    找出所有不重叠的匹配子串并返回一个列表

  re.finditer(pattern, string, flags=0)

    找出匹配子串并返回迭代器,若无匹配返回空列表

  re.sub(pattern, repl, string, count=0, flags=0)

    将string中能被pattern匹配的子串替换为repl

    当count不为0时表示替换count次

    repl可以是一个函数

  re.subn(pattern, repl, string, count=0, flags=0)

    同re.sub() 但re.subn()返回包含心字符串和替换词数的二元组

  re.escape(string)

    对string中非字母数字进行转义

  re.purge()

    清除re缓存

  exception:

    re.error(msg, pattern=None, pos=None)

  

    regex.search(string[, pos[, endpos]])

    regex.match(string[, pos[, endpos]])

    regex.fullmatch(string[, pos[, endpos]])

    regex.split(string, maxsplit=0)

    regex.findall(string[, pos[, endpos]])

    regex.finditer(string[, pos[, endpos]])

    regex.sub(repl, string, count=0)

    regex.subn(repl, string, count=0)

    regex.flags

    regex.groups

    regex.groupindex

    regex.pattern

  

    match.expand(template)

    match.group([group1,...])

    match.groups(default=None)

    match.groupdict(default=None)

    match.start([group])  返回匹配开始位置

    match.end([group])  返回匹配结束位置

    match.span([group])  返回包含匹配起始结束位置的二元组

    match.pos

    match.endpos

    match.lastindex

    match.lastgroup

    match.re

    match.string

 

转载于:https://www.cnblogs.com/book-book/p/5429184.html

你可能感兴趣的文章
陈云川的OPENLDAP系列
查看>>
django 模型-----自连接
查看>>
P1197 [JSOI2008]星球大战
查看>>
将某个目录下的 文件(字符窜) 只将数字过滤出来
查看>>
urllib模块
查看>>
XML转义字符
查看>>
【vue】vue +element 搭建及开发中项目中,遇到的错误提示
查看>>
微信小程序之简单记账本开发记录(六)
查看>>
死锁和活锁
查看>>
js生成二维码
查看>>
去除input[type=number]的默认样式
查看>>
PowerDeigner 一个很好的画uml 和建模的软件
查看>>
vs2012创建mvc4项目部署iis所遇到的问题
查看>>
jenkins下载
查看>>
卫语句学习
查看>>
【php】对PHPExcel一些简单的理解
查看>>
文档统一用Word编写之Word写&发送邮件(Office2007)
查看>>
JavaScript的简单继承实现案例
查看>>
第六篇 VIM你值得拥有!
查看>>
项目管理学习笔记之八.课程总结
查看>>