前面的r表示字符串原本的含义

[abc] 'a’或‘b’或‘c’
[a-z]+ 重复多次的任意多个小写字母(一个由小写字母构成的单词)
[a-z] a-z任意一个小写字母
\d{4} 4个数字
\d 匹配数字
\D 匹配非数字
\b 边界
\w 匹配单词、字符,如大小写字母,数字,_ 下划线 (除了空格)
\W 匹配非单词字符(与上面那个是相对的)(只有空格)
\s 匹配特殊字符,如空白,空格,tab等
\S 匹配非空白
\Z匹配字符串尾
.*匹配任意多个字符但不包括换行
.匹配任意一个字符但不包括换行
…任意两个字符

r’([a-z]+)[\s\S]?([a-z]+)[\s\S]?([a-z]+)’ 匹配三个由小写字母构成的单词

.* 和.*?的区别 aabab
a.*b 通常的行为是(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符,因而匹配到aabab
a. *?b 我们更需要懒惰匹配,也就是匹配尽可能少的字符,因而匹配到aab

[\s\S] 匹配任意字符包括空格和非空格
[\s\S]* 匹配任意多个字符构成的字符串包括空格和非空格
[\s\S]*?匹配任意多个字符构成的字符串包括空格和非空格,懒惰匹配,最少原则
[\w\W] 匹配任意字符包括特殊字符和非特殊字符
[\w\W]匹配多个字符包括特殊字符和非特殊字符
[\w\W]
?匹配多个字符包括特殊字符和非特殊字符,懒惰匹配,最少原则

[^2345] 不匹配2345中的任意一个
[a-z3-5] 匹配a-z或者3-5中的字符
^ [a-zA-Z]是去匹配目标字符串中以中括号中的a—z或者A—Z开头的字符
[^a-zA-Z]是去匹配目标字符串中非a—z也非A—Z的字符.
[ace]*这表示,只要出现a/c/e这三个任意的字母,都会被匹配

() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。
分组匹配的例子:

     text = "abc123abc456abcAVC789"result = re.search(r"([456])(.*)(AVC)(789)", text)print(result.groups())执行结果:('4', '56abc', 'AVC', '789')

(\s*)表示连续空格的字符串。

[]是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[\s*]表示空格或者*号。

{}一般用来表示匹配的长度,比如 \s{3} 表示匹配三个空格,\s[1,3]表示匹配一到三个空格。(0-9) 匹配 ‘0-9’ 本身。 [0-9]* 匹配数字(注意后面有 *,可以为空)[0-9]+ 匹配数字(注意后面有 +,不可以为空){1-9} 写法错误。 [0-9]{0,9} 表示长度为 0 到 9 的数字字符串。

过滤内容里面有数或空格数字

preg_replace(“/\d{1,}\s{0,1}/”, “xxxxxxxx”, $signaturecontent);

组名及组名的反向引用:
1.组命名的语法是在组匹配模式基础上扩展的,是在组的括号起始部分增加“?P<组名>”,这样组的定义语法为:
(?P<组名>组匹配模式串)
pattern=‘

(?P.*)

(?P[0-9]{1,3})


2.组名的反向引用
(?P=<组名>)
注意:
1、组名必须在引用前定义;
2、比定义在P和<组名>之间多了一个等号;
3、<组名>后没有其他子串。

更多细节参照:
https://blog.csdn.net/LaoYuanPython/article/details/99752968

python正则匹配总结相关推荐

  1. python正则匹配表达式(2)

    上节主要讲解python正则匹配的匹配表达式,而需要调用相应的API才能解决如何匹配的问题. 在python官方文档Regular Expression HOWTO给出了python匹配函数,官方给出 ...

  2. 使用Python 正则匹配两个特定字符之间的字符方法

    string = "<KeysViewHDF5 ['Inoisy']>" import redef cut_out(a,b,string):result = re.fi ...

  3. Python正则匹配 去除文本中的各类emoji表情符号

    我们的文本数据中经常会带有很多表情,如何完整地清除得到高质量的文本供我们利用呢? p = re.compile(u'['u'\U0001F300-\U0001F64F' u'\U0001F680-\U ...

  4. python正则匹配ABAC型词语

    python正则匹配ABAC型词语 前言 代码 前言 本人第一次写博客,欢迎指出不足. 代码 今天做python作业,发现很多文章不能很好地解决匹配ABAC型的词语,例如: patten =r'((. ...

  5. python正则匹配txt特定字符串(有换行)

    python正则匹配txt特定字符串(有换行) 在原txt文件中,我们需要匹配出的字符串为:休闲服务(中间参杂着换行) 直接复制到notebook里进行处理 完整代码 在原txt文件中,我们需要匹配出 ...

  6. python正则匹配汉字

    python正则匹配汉字的规则为:[\u4e00-\u9fa5] 后面可以加一个+,匹配多个汉字. 例子如下: print(re.findall(r'[\u4e00-\u9fa5]+', '这是测试用 ...

  7. python正则表达式匹配数字或者逗号_python正则表达式去掉数字中的逗号(python正则匹配逗号)...

    分析 数字中经常是3个数字一组,之后跟一个逗号,因此规律为:***,***,*** 正则式[a-z]+,[a-z]? import re sen = "abc,123,456,789,mnp ...

  8. Python 正则匹配(re)组的应用

    昨天刚看完re的一小部分,今天刚好有个任务需要用到正则. 需求是:一张表的text字段存了很多内容.里面包括发给用户的邮件内容,已经用户的邮箱等等.现在需要查找出发送给哪些email以及多少封邮件.需 ...

  9. python正则匹配ip地址_Python正则表达式匹配和提取IP地址

    Linux No.1 IPv4 下面是IPv4的IP正则匹配实例: 简单的匹配给定的字符串是否是ip地址 import re if re.match(r"^(?:[0-9]{1,3}.){3 ...

  10. python正则匹配表达式(1)

    python也和其他语言一样也提供了丰富的正则匹配表达式,在爬虫中解析服务器的内容时也经常需要用到,python的正则匹配为re库,其官方文档链接为: Lib/re.py 在官方文档中特别说明正则匹配 ...

最新文章

  1. 数字图像处理——第十章 图像分割
  2. python连接excel存放数据_有了这篇python操作Excel学习笔记,以后储存数据 办公很轻松!...
  3. 冒泡链表排序java_链表排序(冒泡、选择、插入、快排、归并、希尔、堆排序)...
  4. C++ 继承过程中使用访问说明符和虚函数
  5. SQL Server-聚焦SNAPSHOT基于行版本隔离级别详解(三十)
  6. 设置centos6.5虚拟机时间同步
  7. Win10下MySQL5.7.20 Mysql(64位)解压版安装及bug修复
  8. HDOJ 2041 超级楼梯
  9. pads layout 中 hatch和flood之区别
  10. Java 文件 IO 操作
  11. 【资料篇】你需要掌握SEO的8个常用知识点
  12. 项目Beta冲刺Day3
  13. 爬取表格类网站数据并保存为excel文件
  14. POST 方式上传图片
  15. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_23-CMS前端页面查询开发-分页查询实现...
  16. 苹果的 Safari 浏览器13岁了
  17. 计算机万维考试题,计算机培训 万维考试系统选择题题库(含参考答案).pdf
  18. 通达信股票软件日线数据分析
  19. open-falcon配置报警
  20. 网线RJ45接口排线示意图(做网线备用)

热门文章

  1. 阿里巴巴Java开发程序猿年薪40W是什么水平?
  2. 华为手机 锁屏密码找回
  3. 【汽车篇】02. USB 无线 WiFi 替代车载 4G ❀ 特斯拉 Model 3
  4. psutil模块简说
  5. 32.Python面向对象(五)【描述符、运算符底层、装饰器:闭包-闭包参数-内置装饰器-类装饰器】
  6. WAP 2.0简介(转)
  7. 指定域控客户端的验证服务器,指定登录域控制器
  8. 软考哪个证含金量比较高,如何备考?
  9. MySQL基础之数据的增删改查
  10. 淘宝录好视频代替直播