美文网首页
正则表达式

正则表达式

作者: Sarace | 来源:发表于2018-07-14 11:12 被阅读0次

python学习笔记-正则表达式

标签 : python


特殊符号和字符

符号 描述 示例
literral 匹配文本的字面值literal foo
re1|re2 匹配正则表达式re1或re2 foo|bar
. 匹配任何字符(除了\n以外) b.b
^ 匹配字符串起始部分 ^Dear
$ 匹配字符串终止部分 /bin/*sh$
* 匹配0次或者多次前面出现的正则表达式 [A-Za-z0-9]*
+ 匹配1次或者多次前面出现的正则表达式 [a-z]+\.com
? 匹配0次或1次前面出现的正则表达式 goo?
{N} 匹配N次前面出现的正则表达式 [0-9]{3}
{M,N} 匹配M~N次前面出现的正则表达式 [0-9]{5,9}
[...] 匹配来自字符集的任意单一字符 [aeiou]
[..x-y..] 匹配x-y范围中的任意单一字符 [0-9],[A-Za-z]
[^...] 不匹配此字符集中出现的任何一个字符,包括每一范围的字符(如果则此字符集中出现) [aeiou],[A-Za-z0-9]
(*|+|?|{})? 用于匹配上面频繁出现、重复出现符号的非贪婪版本(*、+、?、{}) .*?[a-z]
(...) 匹配封闭的正则表达式,然后另存为子组 ([0-9]{3})?,f(oo|)bar
\d 匹配任何十进制数字,与[0-9]一致(\D与\d相反,不匹配任何非数值型的数字) data\d+.txt
\w 匹配任何字母数字字符,与[A-Za-z0-9]相同(\W与之相反) [A-Za-z]w+
\s 匹配任何空格字符,与[\n\t\r\v\f]相同(\S与之相反) of\sthe
\b 匹配任何单词边界(\B与之相反) \bThe\b
\N 匹配已保存的子组N(参见上面的(...)) price:\16
\c 逐字匹配任何特殊字符c(即,仅按照字面意义匹配,不匹配特殊含义) \.\\,\*
\A(\Z) 匹配字符串的起始(结束)(另见扇面介绍的^和$) \ADear
扩展表示法
(?iLmsux) 在正则表达式中嵌入一个或者多个特殊“标记”参数(或者通过函数/方法) (?x),(? im)
(?:...) 表示一个匹配不用保存的分组 (?:\w+\.)*
(?P<name>...) 向一个仅由name标识而不是数字ID标识的正则分组分配 (?P<data>)
()?P=name 在同一字符串中匹配由(?P=name)分组的之前文本 (?P=data)
(?#...) 表示注释,虽有内容都被忽略 (?#comment)
(?=...) 匹配条件是如果...出现在之后的位置,而不使用输入字符串;称作正向前视断言 (?=.com)
(?!...) 匹配条件是如果...不出现在之后的位置,而不使用输入字符串;称作负向前视断言
(?<=...) 匹配条件是如果...出现在之前的位置,而不使用输入字符串;称作正向后视断言
(?<!...) 匹配条件是如果...不出现在之前的位置,而不使用输入字符串;称作负向后视断言
(?(id/name)Y/N) 如果分组所提供id或者name(名称)存在就返回正则表达式的条件匹配Y,如果不存在,就返回N;|N是可选项 (?(1)y|x)

re模块:核心函数和方法

函数/方法 描述
仅仅是re模块函数
compile(pattern,flags=0) 使用任何可选的标记来编译正则表达式的模式,然后返回一个正则表达式对象
re模块函数和正则表达式对象的方法
match(pattern,string,flags=0) 尝试使用带有可选的标记的正则表达式的模式来匹配字符串。如果匹配成功,就返回匹配对象;如果失败,就返回None
search(pattern,string,flags=0) 使用可选标记搜索字符串中第一次出现的正则表达式模式。如果匹配成功,就返回匹配对象;如果失败,就返回None
findall(pattern,string[,flags]) 查找字符串中所有(非重复)出现的正则表达式模式,并返回一个匹配列表
finditer(pattern,string[,flags]) 与findall函数相同,但返回的不是一个列表,而是一个迭代器。对于每一次匹配,迭代器都返回一个匹配对象
split(pattern,string,nax=0) 根据正则表达式的模式分隔符,split函数将字符串分割为列表,然后返回成功匹配的列表,分割最多操作max次(默认分割所有匹配成功的位置)
re 模块函数和正则表达式对象方法
sub(patternreplstringcount=0 使用repl替换所有正则表达式的模式在字符串中出现的位置,除非定义count,否则就将替换所有出现的位置(另见subn()函数,该函数返回替换操作的数目)
purge() 清除隐式编译的正则表达式模式
常用的匹配对象方法(查看文档以获取更多信息)
group(num=0) 返回整个匹配对象,或者编号为num的特定子组
groups(default=None) 返回一个包含所有匹配子组的元组(如果没有成功匹配,则返回一个空元组)
groupdict(default=None) 返回一个包含所有匹配的命名子组的字典,所有的子组名称作为字典的键(如果没有成功匹配,则返回一个空字典)
常用的模块属性(用于大多数正则表达式函数的标记)
re.I、re.IGNORECASE 不区分大小写的匹配
re.L、re.LOCALE 根据所使用的本地语言环境通过\w、\W、\b、\B、\s、\S实现匹配
re.M、re.MULTILINE ^和&分别匹配目标字符串行的起始和结尾,而不是严格匹配整个字符串本身的起始和结尾
re.S、re.DOTALL “.”(点号)通常匹配除了\n(换行符)之外的所有单个字符;该标记表示“.”(点号)能够匹配全部字符
re.X、re.VERBOSE 通过反斜线转义,否则所有空格加上#(以及在该行中所有后续文字)都被忽略,除非在一个字符类中或者允许注释并且提高可读性

相关文章

  • Linux命令行与Shell脚本编程大全-shell正则表达式

    本章内容: 定义正则表达式 了解基本正则表达式 扩展正则表达式 创建正则表达式 定义正则表达式 正则表达式是你定义...

  • 正则相关

    正则表达式基本语法 正则表达式常见字符 正则表达式特殊字符 正则表达式数量词 正则表达式边界匹配 正则表达式逻辑或...

  • 正则表达式系列-1

    正则表达式系列-1正则表达式系列-2正则表达式系列-3正则表达式系列-4 什么是正则表达式 正则表达式就是用事先定...

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • Python基础入门 - 正则表达式与综合实战

    1. 初识正则表达式 1.1 介绍 步骤介绍正则表达式入门及应用正则表达式的进阶正则表达式案例 1.2 正则表达式...

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python爬虫(十)_正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • python正则表达式

    本篇将介绍python正则表达式,更多内容请参考:【python正则表达式】 什么是正则表达式 正则表达式,又称规...

  • 正则表达式

    了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于...

网友评论

      本文标题:正则表达式

      本文链接:https://www.haomeiwen.com/subject/pcoepftx.html