正则表达式实例(.*?)
来源:互联网 发布:c语言e语言 编辑:程序博客网 时间:2024/06/16 10:17
正则表达式实例:
#!/usr/bin/pythonimport reline = "Cats are smarter than dogs"matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)if matchObj: print "matchObj.group() : ", matchObj.group() print "matchObj.group(1) : ", matchObj.group(1) print "matchObj.group(2) : ", matchObj.group(2)else: print "No match!!"
正则表达式:
r'(.*) are (.*?) .*'
解析:
首先,这是一个字符串,前面的一个 r 表示字符串为非转义的原始字符串,让编译器忽略反斜杠,也就是忽略转义字符。但是这个字符串里没有反斜杠,所以这个 r 可有可无。
- (.*) 第一个匹配分组,.* 代表匹配除换行符之外的所有字符。
- (.*?) 第二个匹配分组,.*? 后面多个问号,代表非贪婪模式,也就是说只匹配符合条件的最少字符
- 后面的一个 .* 没有括号包围,所以不是分组,匹配效果和第一个一样,但是不计入匹配结果中。
matchObj.group() 等同于 matchObj.group(0),表示匹配到的完整文本字符
matchObj.group(1) 得到第一组匹配结果,也就是(.*)匹配到的
matchObj.group(2) 得到第二组匹配结果,也就是(.*?)匹配到的
因为只有匹配结果中只有两组,所以如果填 3 时会报错。
阅读全文
0 0
- 正则表达式实例(.*?)
- 正则表达式(实例大全)
- JavaScript 正则表达式(实例)
- js常用正则表达式实例(转)
- 正则表达式实例分析(转)
- js正则表达式实例(汇总)
- 正则表达式(四)——实例
- 正则表达式实例(c语言)
- js正则表达式实例(整理)
- js正则表达式实例(汇总)
- Python_正则表达式入门(实例讲解)
- 常用正则表达式实例
- 常用正则表达式实例
- 常用正则表达式实例
- php正则表达式实例
- 正则表达式判断实例
- 常用正则表达式实例
- 正则表达式实例
- Qt打开USB摄像头,做圆检测
- 支持断点上传文件的演示(C#)有图、有源码
- vs-code搭建golang开发环境(如何设置代理)
- Python 开启简单http服务命令
- hiredis认证加密
- 正则表达式实例(.*?)
- Windows 2008 R2环境下DHCP服务的安装部署使用
- centos 6.8 + pgsql 9.6 + pg_buffercache
- ContOS 安装jdk
- Java知识点笔记--构造器内部的多态行为
- OpenCV界面(CVUI,跨平台,比QT方便,包括按钮等)
- 单例模式
- Android图片压缩框架-Tiny 集成(抄来的,防止网页没有了,搬到自己家里)
- 图片处理工具-局部像素替换