#regularExpression for python

一 元字符

1      .     匹配除了换行符以外的任意一个字符
2     [abc]  匹配集合中的任意一个字符
3     [^abc] 匹配除了集合中的任意一个字符
4     [a-z]  匹配区间内的任意一个字符
5     [^0-9] 匹配除了区间内的任意一个字符
6     \babc  匹配以a开头的单词                 \Babc\w     匹配不以a开头的单词,但后面的单词必须有abc的单词
7     \d     [0-9]匹配一位数字                 \D          匹配一位非数字
8     \s     匹配一位空白字符                   \S          匹配一位非空白的字符
9     \w     [a-z0-9A-Z]匹配一位集合内的字符,包含中文    \W  匹配除了集合以外的字符

二 重复

1 *         表示0次或者多次
2 +         表示一次或者多次,至少一次
3 ?         表示0次或者1次
4 {n}       表示n次
5 {n,}      表示最少n次
6 {n,m}     表示最少n次最多m次

三 ?,*,+,\d,\w 都是等价字符

  1 ?等价于匹配长度{0,1}
  2 *等价于匹配长度{0,}
  3 +等价于匹配长度{1,}
  4 \d等价于[0-9]
5 \D等价于[^0-9]
  6 \w等价于[A-Za-z0-9]
7 \W等价于[^A-Za-z0-9] .-

四 子表达式,分组也叫捕获

1 x|y               匹配x或者y             r(a|e)ry   必须加括号
2 (pattern)         表示一个分组,用\n引用   (very) \1
3 (?:pattern)       表示取消分组
4 (?'name'pattern)  分组别名方便后向引用 (?'name'very) \'name'   例子: 源文件very very   结果 very(1也是别名name) very very(0)

五 断言(断定后面或者前面跟上字符)

1 f(?=exp)          零宽先行断言 f后面一定出现exp表达式的字符2 (?<=exp)f         零宽后发断言 f前面一定出现exp表达式的字符
3 f(?!exp)          负向零宽先行断言  f后面一定不会出现exp表达式的字符
4 (?<!exp)f         负向零宽后发断言  f前面一定不会出现exp表达式的字符例子: (?<!\d+)([1-9]\d\d?|\d)(?!\d+)     从源文件中匹配三位数 123可以,前后都不能是数字1234无法匹配

六 贪婪模式与非贪婪模式

1 默认的是贪婪模式      尽量多的匹配
2 次数后加?非贪婪模式    尽量少的匹配① *?                匹配任意次 但尽可能少匹配              例子 exp:v.*?y    souece:very vary vhappy  result:very  vary  vhappy            #三条结果exp:v.*y    souece:very vary vhappy  result:very vary vhappy   #一条结果② +?                匹配至少一次 但尽可能的少匹配 ③ ??                匹配0次或者1次 但尽可能的少匹配④ {n,}?             匹配至少n次 但尽可能的少匹配⑤ {n,m}?            匹配至少n次,至多m次 但尽可能的少匹配

七 单行模式和多行模式

1 单行模式               把所有源文件看作一个字符串
2 多行模式               把一行看作一个字符串  结尾用\r?$匹配

python regularExpression相关推荐

  1. Python快速学习第八天

    本文内容全部出自<Python基础教程>第二版 10.1 模块 现在你已经知道如何创建和执行自己的程序(或脚本)了,也学会了怎么用import从外部模块获取函数并且为自己的程序所用: &g ...

  2. python文件头--文件编码指定

    From: http://blog.csdn.net/chenggong2dm/article/details/7677028 #coding=utf-8 #-*- coding: utf-8 -*- ...

  3. python正则表达式匹配括号并删除_如何使用正则表达式删除括号内的文本?

    在括号匹配子串的图案不具有其他(和)字符之间(如(xyz 123)在Text (abc(xyz 123))是 \([^()]*\) 详细资料: \(-圆括号(请注意,在POSIX BRE中(应使用,请 ...

  4. Python自然语言处理学习笔记(68):7.9 练习

    7.9   Exercises  练习 ☼ The IOB format categorizes tagged tokens as I, O and B. Why are three tags nec ...

  5. Python基础学习笔记之(二)

    Python基础学习笔记之(二) zouxy09@qq.com http://blog.csdn.net/zouxy09 六.包与模块 1.模块module Python中每一个.py脚本定义一个模块 ...

  6. python输出用逗号隔开的数字_Python:从字符串中提取带有点和逗号的数字

    我正在分析Python中的单词和数字.我只对数字感兴趣,即只对0到9.点(.)和逗号(,)感兴趣.我对保留点和逗号很感兴趣,因为有些文件是用美式数字(即3.14159)编写的,而有些文件是用欧洲(德语 ...

  7. [转载] python+selenium自动化软件测试(第3章):unittes

    参考链接: Python 集合set different() From: https://blog.csdn.net/site008/article/details/77622472 3.1 unit ...

  8. python正则表达式(关于提取数字)

    text='POLO1.4自动舒适 标准价121000元 现价111600元 降幅9400元 预计再降400元 桑塔纳3000手动标准型 标准价118000元 现价107000元 降幅11000元 预 ...

  9. python+selenium自动化软件测试(第3章):unittest

    目录 3.1 unittest简介 3.1.1 unittest简介 3.1.2 简单用法 3.1.3 小试牛刀 3.1.4 前置和后置 3.1.5 博客案例 3.1.6 参考代码 3.2 unitt ...

最新文章

  1. Smartforms 设置纸张打印格式
  2. 收藏!2021最新期刊预警名单汇总!
  3. 在.NetCore中使用Myrmec检测文件真实格式
  4. 【最小环】【Floyed】观光旅游(ssl 1763)
  5. ashly理器4.8软件汉化版_AMD 处理器核心比英特尔多还更便宜?英特尔回应
  6. access数据库应用系统客观题_Access制作客观题考试系统的应用
  7. 做APP,从头到尾产品经理需要做什么?- 项目启动前
  8. 利用 DIAMOND、MCScanX、TBtools 分析物种基因组间的共线性区段与基因复制事件
  9. Wed Aug 03 19:48:03 +0800 2022这种字符串,怎么转成时间格式年月日
  10. 微信小程序图书借阅系统+后台管理系统
  11. SQL Server 2016 Always Encrypted(始终加密)
  12. 企业微信会话存档功能的推出背景,版本,部署方式
  13. 设计模式之中介者模式---Mediator Pattern
  14. EntityFramework之领域驱动设计实践(五)
  15. 【ArcGIS Pro二次开发】(17):打开GDB、SHP、CAD等各种数据
  16. 网络资源的定义--URI,URL,URN
  17. 人人车3.0,合伙人会是二手车电商的新未来吗
  18. 机器学习----纯手撸线性回归代码
  19. 紫丁香终于没有坚持到第11年
  20. 【转】了解webservice

热门文章

  1. 微信小程序长按复制文本
  2. 看完相当于学过并实践用过arduino! ——复现arduino开发板的众多小实验
  3. MySQL 水平拆分
  4. 视频教程-Three.js(webgl) webpack+es6 geojson 3d地图 项目实战视频教程-JavaScript
  5. 界面的表格导出为excel,并下载
  6. html渐变设置颜色比例,css3 渐变两个颜色 各占百分之五十怎么设置
  7. php mcrypt extension,php mcrypt extension使用教程
  8. 为何 java 中 int 类型的取值范围是 [-2147483648, 2147483647]
  9. 中文里带半角空格导致的Text换行问题[Unity]
  10. MySQL数据库表字段命名规范