1.常用正则表达式:

\d:数字[0-9] ,实例:a\dc -> a1c
\D:非数字[^\d],实例:a\Dc -> abc
\s:空白字符[<空格>\t\r\n\f\v] 实例:a\sc ->a c
\S:非空白字符[^\s] 实例:a\Sc ->abc
\w:单词字符[A-Za-z0-9_] 实例:a\wc ->abc
\W:非单词字符[^\W]

*:匹配前一个字符0或无限次; abc* -> ab或abc或abcc
+:匹配前一个字符1次或无限次 abc+ -> abc或abcc
?:匹配前一个字符0次或1次 abc? -> ab或者abc

{m}:匹配前一个字符m次 ab[2]c -> abbc

^:匹配字符串开头,在多行模式中匹配每一行的开头;
$:匹配字符串结尾,在多行模式中匹配每一行的结尾;
\A:仅匹配字符串开头
\Z:仅匹配字符串结尾
\b:匹配\w和\W之间;
\B:{^\b}

以什么结尾:一般这样写(abc)$

|:它总是先尝试匹配左边的表达式,一旦成功则跳过匹配右边的表达式;

(...):被括起来的表达式将作为分组,从表达式左边开始每遇到一个分组的
左括号'(',编号+1
另外,分组表达式作为一个整体,可以后接数量词,表达式中的|仅在
该组中有效;

例如:(abc){2} -> abcabc
a(123|456)c -> a456c

(?P<name>...):分组,除了原有的编号外再指定一个额外的别名;
(?P<id>abc){2} -> abcabc
\<number> :引用编号为<number>的分组匹配到的字符串.
(\d)abc\1 -> 1abc1或者5abc5
(?P=name):引用别名为<name>的分组匹配到的字符串.
(?P<id>\d)abc(?P=id) -> 1abc1或者5abc5

分组:(?P<name>...)省略的部分就是正常的正则匹配,我们把
匹配到的这个整体给赋一个变量名字name,在后续调用的时候,
分组表达式的写法:(abc)edcrfv.*(wsx).*\1

2.编译正则表达式

r表示raw的简及raw string 意思是原生字符,也就是说这个字符串中间的特殊字符不用转义;

比如你要表示'\n',可以这样:r'\n'

但是,如果你不用原生字符,而是用字符串你得这样:'\\n'

shell 中:grep -E或egrep

re.compile(pattern[,flags])
这个方法就是将字符串的正则表达式编译成正则对象,第二个参数flag是匹配
模式,取值可以使用按位或者运算符"|"表示同时生效,比如re.l | re.M,
flag的可选值有:
re.l(re.lGNORECASE):忽略大小写(括号内是完整写法,下同)
M(MULTILINE):多行模式,改变'^'和'$'的行为;
S(DOTALL):点任意匹配模式,改变'.'的行为;
L(LOCALE):使预定义字符类\w \W \b \B \s \S取决于当前区域设定;
U(UNICODE):使预定义字符类\w \W \b \B \s \S \d \D 取决于unicode定义的字符属性.
X(VERBOSE):详细模式。这个模式下正则表达式可以是多行,忽略空白符,并
可以加入注释。以下两个正则表达式是等价的:
a = re.compile(r"""\d+ #the integralpart
\. #the decimal point
\d * # some fractional digits""",re.X)
b = re.compile(r"\d+\.\d")

1.正则匹配是,优先编译成正则对象,然后再进行匹配,

3.re正则对象和正则匹配效率比较

re模块是python中处理正则表达式的一个模块,通过re模块的方法,把正则表达式pattern
编译成正则对象,以便使用正则对象的方法.那为什么要使用re模块来把正则表达式
搞成正则对象呢,最主要的是可以提高代码的执行效率,正则对象比正则匹配快好多;

转载于:https://www.cnblogs.com/awenxianliao/p/7837178.html

python之正则(一)相关推荐

  1. python正则匹配空格+数字+空格_详解Python中正则匹配TAB及空格的小技巧

    详解Python中正则匹配TAB及空格的小技巧 发布时间:2020-10-15 08:38:48 来源:脚本之家 阅读:94 作者:杰瑞26 在正则中,使用.*可以匹配所有字符,其中.代表除\n外的任 ...

  2. 分割字符串_[话俾你知]Python使用正则处理字符串技巧(分割、替换)

    当你遇见了一个问题需要使用正则来处理,这个时候你就有了两个问题. 我主业是做图像处理,自然语言处理接触不多,正则表达式的研究并不深入,本文只讲述一些小技巧,如果你对正则表达式比较感兴趣,可以去看看有本 ...

  3. python re正则匹配_python re正则表达式模块

    模块的的作用主要是用于字符串和文本处理,查找,搜索,替换等 复习一下基本的正则表达式吧 .:匹配除了换行符以为的任意单个字符 *:匹配任意字符,一个,零个,多个都能匹配得到 俗称贪婪模式 +:匹配位于 ...

  4. Python基础——正则2(0503)

    2019独角兽企业重金招聘Python工程师标准>>> 一.正则 1.比较好用的正则匹配网站   https://regex101.com/ 2.常用的正则 以什么开头/结尾:^开头 ...

  5. python re正则查找_python正则表达式 - re

    1,匹配符号 基本元字符 . : 任意字符,除了\n,flags设置为DOTALL(S)可以让.匹配\n |:逻辑或 \:转义 ():捕获组 空白字符 [\b] : 回退 \f : 换页 \n : 换 ...

  6. python 模糊匹配ftp文件_使用python实现正则匹配检索远端FTP目录下的文件

    遇到一个问题,需要正则匹配远端FTP目录下的文件,如果使用ftp客户端可以通过命令行很容易的做到这一点,但是暂时没有一个工具支持这样的需求,于是通过python对FTP的支持和对正则表达式的支持,写了 ...

  7. python split 正则_Python 正则表达式:split

    作用:用正则表达式的字符分割字符串,正则的字符会被抛弃. 本文以 提取URL的地址与参数 为例,介绍re模块的split的用法: 返回值 -> 列表 复杂匹配 = re.compile(正则表达 ...

  8. Python中正则匹配使用findall时的注意事项

    在使用正则搜索内容时遇到一个小坑,百度搜了一下,遇到这个坑的还不少,特此记录一下. 比如说有一个字符串  "123@qq.comaaa@163.combbb@126.comasdf111@a ...

  9. python re正则_正则表达式+Python re模块详解

    正则表达式(Regluar Expressions)又称规则表达式,在代码中常简写为REs,regexes或regexp(regex patterns).它本质上是一个小巧的.高度专用的编程语言. 通 ...

最新文章

  1. vue注册新节点_vue怎么重新组装slots节点
  2. 实时荧光定量聚合酶链式反应和2-▲CT方法分析相关基因表达数据
  3. 基于redis的分布式锁解析
  4. python批量下载文件-python 从远程批量下载文件到本地
  5. C++编程练习(10)----“图的最小生成树“(Prim算法、Kruskal算法)
  6. Vijos p1165 火烧赤壁 离散化+单调栈
  7. 用SVR模型完成对Boston房价的回归预测
  8. Spring Security源码解析(三)—— HttpSecurity
  9. 以“用户播放行为与体验”为核心的视频服务质量优化
  10. AUTOSAR从入门到精通100讲(二十一)-AUTOSAR通信篇—IpduM模块
  11. c语言实现配置文件的读写
  12. 江苏师范大学科文学院计算机科学与技术,2019江苏师范大学科文学院专业排名...
  13. lnmp安装完之后的一些注意事项
  14. AirServer投屏轻松地将iPhone、iPad投屏到Mac上面教程
  15. 微信群成员活跃度测试软件,微信群活跃度最佳人数是多少?
  16. 工欲擅其事必先利器,磨刀不误砍柴工
  17. NRF24L01的学习浅析(通过软件模拟SPI)
  18. 搭建Terraria服务器[Centos7/LGSM/泰拉瑞亚]
  19. Java模拟登录强智教务系统分析思路
  20. DDOS防御抗D平台方案

热门文章

  1. mysql binlog rotate_binlog rotate引发的MySQL阻塞事件
  2. js倒计时代码最简单的_代码设计开发-6大基本原则解读(最简单扼要的理解)
  3. mybatis-generator 逆向生成工具(实体、dao、sql)
  4. 最短路径算法----Dijkstra (转)
  5. JLINK与JTAG的区别
  6. 对Kalman Filter的理解
  7. (z) 傅里叶分析之掐死教程(完整版)
  8. C#中的thread和task之Task
  9. 打破学习的玻璃墙_打破Google背后的创新深度学习
  10. 重磅!四部委发文,以后买房可以省几十万元!