正则非贪婪匹配 及 容易出现的错误
来源:互联网 发布:数控刀具网络销售 编辑:程序博客网 时间:2024/05/24 03:52
提取html中的tag,需要用正则的非贪婪匹配法,因为贪婪的正则匹配会把最大的闭合Tag提取出来,而这并不是我们想要的。
一般的正则:
re.findall('''<tr>.*</tr>''',html,re.DOTALL)
非贪婪模式下的正则
re.findall('''<tr>.*?</tr>''',html,re.DOTALL)
这样会把最短符合正则的字符串提取出来。
关键在于 '''.*?'''
参考资料:https://docs.python.org/2/library/re.html
查英文的技术资料,记得用谷歌。
这有一片MSDN的中文RE说明:http://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx
出现的错误
事情是这样的:
在Chrome审查元素中查看网页源代码,尝试用Python的正则匹配匹配出相应字符串,结果发现怎么也匹配不出来。把审查元素中的字符创copy as html出来,在一个test.py中跑,却能匹配出来,见鬼了。
后来发现,其实是审查元素中的html已经被chrome规整过格式了,源代码中原本是一个\n 审查元素中却显示成了一个空格,我按照这个来匹配,结果匹配不出。
然后从审查元素中粘贴出来的html也是规整后的字符串,想要查看原始的html需要直接点击查看源代码。
0 0
- 正则非贪婪匹配 及 容易出现的错误
- 正则表达式的贪婪匹配(.*)和非贪婪匹配(.*?)
- 正则表达式的贪婪匹配和非贪婪匹配
- 正则表达式的贪婪匹配和非贪婪匹配
- python 正则表达式的贪婪匹配与非贪婪匹配
- js正则表达式的贪婪匹配和非贪婪匹配
- VIM中正则的非贪婪匹配
- VIM中正则的非贪婪匹配
- 什么是正则表达式的贪婪与非贪婪匹配
- 正则表达式-贪婪与非贪婪匹配
- 正则表达式-贪婪与非贪婪匹配
- 正则表达式:表达式的递归匹配及非贪婪模式的效率
- 【转】正则表达式-贪婪匹配与非贪婪匹配的效率问题
- php正则表达式中的非贪婪模式匹配的使用
- 为什么爬虫正则更多的用非贪婪匹配模式?
- 正则表达式中贪婪匹配和非贪婪匹配
- java中正则匹配的贪婪模式和非贪婪模式
- 正则表达式的贪婪与非贪婪
- xxx
- 项目经验:clear清除浮动样式
- uvalive3942(字典树)
- 一个C源文件到可执行文件 [反汇编-函数栈帧 编译 链接]
- java中的引用类型
- 正则非贪婪匹配 及 容易出现的错误
- USB Class Codes
- 不要做一个浮躁的程序员
- Android ActionBar应用实战,高仿微信主界面的设计
- [转]推荐系统开源软件列表汇总和点评
- [iOS] 设置文件的ARC状态
- 【USACO TRAINING】Name That Number命名那个数字
- 图像孔洞填充与小连通域的删除
- 工作