美文网首页
Python 正则表达式

Python 正则表达式

作者: shadowflow | 来源:发表于2018-09-22 10:12 被阅读0次

1 正则表达式的介绍

正则表达式使用单个字符串来描述,匹配一系列符合某个句法规则的字符串
对字符串的检索匹配和处理

2 python 正则表达式

python通过re模块提供对正则表达式的支持

  1. 先将正则表达式的字符串形式编译为Pattern实例
  2. 使用Pattern实例处理文本并获得匹配结果
  3. 使用实例获得信息,进行其他操作
dd.PNG

字符:

一般字符 自身匹配 abc abc
. 匹配任意换行符"\n"以外的字符。
在DOALL模式下也能匹配换行符
a.c abc
\ 转义字符 a\.c
a\\c
a.c
a\c
[...] 字符集。可以是[abc]或[a-c]或[^abc]表示不是abc的其他字符 a[bcd]e abe
ace
ade

预定义字符集(可以写在[...]中):

一般字符 自身匹配 abc abc
\d 数字:[0-9] a\dc a1c
\D 非数字:[^\d] a\Dc abc
\s 非空字符:[<空格>\t\r\f\v] a\sc a c
\S 非空白字符:[^\S] a\Sc abc
\w 单词字符:[A-Za-z0-9] a\wc abc
\W 非单词字符:[^\w] a\Wc a c

数量词(用在字符或(......)之后):

一般字符 自身匹配 abc abc
* 匹配前一个字符0次或无限次 abc* ab
abccc
+ 匹配前一个字符1次或无限次 abc+ abc
abccc
? 匹配前一个字符0次或一次 ab? ab
abc
{m} 匹配前一个字符m次 ab{2}c abbc
{m,n} 匹配前一个字符m至n次
m和n可以省略
ab{1,2}c abc
abbc

逻辑、分组:

一般字符 自身匹配 abc abc
| 代表左右表达式任意匹配一个,它总是先尝试
匹配左边的表达式,一旦成功匹配则跳过右边的表达式
如果 | 没有包括在括号中,则它的范围是整个正则表达式
abc|def abc
def
(...) 将括起来的表达式做为分组,从表达式左边开始每遇到,
一个分组的左边括号,编号+1。分组表达式做为一个整体,
可以后接数量词。表达式中 | 仅在该组中有效
(abc){2}
a(123|456)c
abcabc
a456c

iLmsux(编译选项指示):

re.I 忽略大小写
re.L 使用预定字符类\w \w \b \B \s \S取决当前区域设定
re.M 多行模式改变^和$的行为
re.S .任意匹配模式
re.U 使用预定义类\w \W \B \s \S \d \D 取决Unicode定义的字符属性
re.X 详细模式,可以多行,忽略空白字符,并且可以加入注释

3 贪婪模式和非贪婪模式

正则表达式通常用于在文本中查找匹配的字符串。Python里的数量词默认是贪婪的,意思是总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。
例如:
正则表达式"abc"如果用于查找"abbbc",将找到"abbb"。而如果使用非贪婪方法"ab?",将找到"a"。

相关文章

  • 正则表达式

    Python正则表达式初识(一) Python正则表达式初识(二) Python正则表达式初识(三) Python...

  • 正则表达式

    Python:正则表达式Python:正则表达式

  • Python正则表达式指南

    Python正则表达式指南 本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达...

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

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

  • python正则表达式

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

  • [转]python正则表达式(一) 函数使用

    原文:python | 史上最全的正则表达式 更全的正则表达式处理函数:在python中使用正则表达式(一) 0....

  • Python正则表达式

    python正则表达式

  • Python正则表达式用法详解

    搞懂Python 正则表达式用法 Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一...

  • Python正则表达式指南

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例...

  • Python处理正则表达式超时的办法

    title: Python处理正则表达式超时的办法tags: [python3, 正则表达式超时, re模块]da...

网友评论

      本文标题:Python 正则表达式

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