python regularExpression
来源:互联网 发布:自制单片机开发板 编辑:程序博客网 时间:2024/06/07 02:11
#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?$匹配
阅读全文
0 0
- python regularExpression
- RegularExpression
- RegularExpression note
- RegularExpression(Regex)
- 正则表达式(RegularExpression)
- 正则表达式(regularexpression)
- [Leetcode]10.RegularExpression Matching
- oc的正则表达式(RegularExpression)
- RegularExpression 中的 lookahead 和 lookbehind 表达式
- 利用RegularExpression进行富文本设置练习
- Part 83 - RegularExpression attribute in asp.net mvc
- 使用System.Text.RegularExpression中的API实现网页数据的抓取
- 使用System.Text.RegularExpression中的API实现网页数据的抓取
- Python
- Python
- Python
- python
- Python
- redis 测试连通性,可以ping通虚拟机,但redis服务器连不上,连接超时
- 关于POI读取excel
- 值得推荐的C/C++框架和库
- 逆序对的两种算法【树状数组 / 归并排序】
- C语言编程 如何编写自己的语言
- python regularExpression
- Python lambda没有你想的那么简单
- Linux延时任务&定时任务&临时文件
- 设定MS SQL Server 2008定期自动备份
- noip2016天天爱跑步
- Matlab GUI总结
- 相机的标定+畸变矫正
- JavaScript的原型与构造函数
- Android 客户端与服务器端进行数据交互(一、登录服务器端)