python regularExpression
#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相关推荐
- Python快速学习第八天
本文内容全部出自<Python基础教程>第二版 10.1 模块 现在你已经知道如何创建和执行自己的程序(或脚本)了,也学会了怎么用import从外部模块获取函数并且为自己的程序所用: &g ...
- python文件头--文件编码指定
From: http://blog.csdn.net/chenggong2dm/article/details/7677028 #coding=utf-8 #-*- coding: utf-8 -*- ...
- python正则表达式匹配括号并删除_如何使用正则表达式删除括号内的文本?
在括号匹配子串的图案不具有其他(和)字符之间(如(xyz 123)在Text (abc(xyz 123))是 \([^()]*\) 详细资料: \(-圆括号(请注意,在POSIX BRE中(应使用,请 ...
- Python自然语言处理学习笔记(68):7.9 练习
7.9 Exercises 练习 ☼ The IOB format categorizes tagged tokens as I, O and B. Why are three tags nec ...
- Python基础学习笔记之(二)
Python基础学习笔记之(二) zouxy09@qq.com http://blog.csdn.net/zouxy09 六.包与模块 1.模块module Python中每一个.py脚本定义一个模块 ...
- python输出用逗号隔开的数字_Python:从字符串中提取带有点和逗号的数字
我正在分析Python中的单词和数字.我只对数字感兴趣,即只对0到9.点(.)和逗号(,)感兴趣.我对保留点和逗号很感兴趣,因为有些文件是用美式数字(即3.14159)编写的,而有些文件是用欧洲(德语 ...
- [转载] python+selenium自动化软件测试(第3章):unittes
参考链接: Python 集合set different() From: https://blog.csdn.net/site008/article/details/77622472 3.1 unit ...
- python正则表达式(关于提取数字)
text='POLO1.4自动舒适 标准价121000元 现价111600元 降幅9400元 预计再降400元 桑塔纳3000手动标准型 标准价118000元 现价107000元 降幅11000元 预 ...
- 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 ...
最新文章
- Smartforms 设置纸张打印格式
- 收藏!2021最新期刊预警名单汇总!
- 在.NetCore中使用Myrmec检测文件真实格式
- 【最小环】【Floyed】观光旅游(ssl 1763)
- ashly理器4.8软件汉化版_AMD 处理器核心比英特尔多还更便宜?英特尔回应
- access数据库应用系统客观题_Access制作客观题考试系统的应用
- 做APP,从头到尾产品经理需要做什么?- 项目启动前
- 利用 DIAMOND、MCScanX、TBtools 分析物种基因组间的共线性区段与基因复制事件
- Wed Aug 03 19:48:03 +0800 2022这种字符串,怎么转成时间格式年月日
- 微信小程序图书借阅系统+后台管理系统
- SQL Server 2016 Always Encrypted(始终加密)
- 企业微信会话存档功能的推出背景,版本,部署方式
- 设计模式之中介者模式---Mediator Pattern
- EntityFramework之领域驱动设计实践(五)
- 【ArcGIS Pro二次开发】(17):打开GDB、SHP、CAD等各种数据
- 网络资源的定义--URI,URL,URN
- 人人车3.0,合伙人会是二手车电商的新未来吗
- 机器学习----纯手撸线性回归代码
- 紫丁香终于没有坚持到第11年
- 【转】了解webservice
热门文章
- 微信小程序长按复制文本
- 看完相当于学过并实践用过arduino! ——复现arduino开发板的众多小实验
- MySQL 水平拆分
- 视频教程-Three.js(webgl) webpack+es6 geojson 3d地图 项目实战视频教程-JavaScript
- 界面的表格导出为excel,并下载
- html渐变设置颜色比例,css3 渐变两个颜色 各占百分之五十怎么设置
- php mcrypt extension,php mcrypt extension使用教程
- 为何 java 中 int 类型的取值范围是 [-2147483648, 2147483647]
- 中文里带半角空格导致的Text换行问题[Unity]
- MySQL数据库表字段命名规范