今天在测试url正则匹配的时候,出现了在“在线测试正则表达式”的网站,明明可以正常匹配URL的,但是在python上就出现了断句,类似:

<div class="right">\r\n <div style="text-align: left;color: #1D51B4;font-weight: 600;padding-left: 40px;font-size: 16px;">\r\n 交管12123APP下载\r\n </div>\r\n <img src="https://static.122.gov.cn/V1.24.5/plat/static/img/mapSelect.png" style="width: 87%;">\r\n </div>\r\n </div>\r\n </div>\r\n <div id="content">\r\n \r\n <div id="content-title">\r\n \r\n \r\n \r\n 各地平台网站\r\n \r\n \r\n

正则表达式:

(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?

在在线测试的网站上可以匹配出:
https://static.122.gov.cn/V1.24.5/plat/static/img/mapSelect.png
而用python这么写:

import re
pattern = re.compile(r'(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?')
print(pattern.findall(html))

则匹配成了:
(("http", "/", "png"))
后来参考了:https://blog.csdn.net/yu_1628060739/article/details/102767158
发现需要在每个括号中加入?:把捕获组转变为一个非捕获组就可以完整匹配了:

import re
pattern = re.compile(r'(?:http|ftp|https):\/\/[\w\-_]+(?:\.[\w\-_]+)+(?:[\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?')
print(pattern.findall(html))

python正则表达式多匹配成了断句相关推荐

  1. python正则表达式如何匹配“+”,“*”

    python正则表达式如何匹配"+","*","-" +,*,-在正则表达式匹配里面都是元字符有特殊含义: +表示匹配1个或多个 *表示匹配 ...

  2. 匹配正则_程序员入门基础:python正则表达式贪婪匹配和非贪婪匹配

    此文为python正则表达式的高阶入门,正则基础入门请参考程序员入门基础:python的正则表达式. 一.贪婪匹配和非贪婪匹配 举例说明概念: print('非贪婪匹配',re.search('el+ ...

  3. python正则表达式贪婪匹配_Python正则表达式教程之三:贪婪/非贪婪特性

    之前已经简单介绍了Python正则表达式的基础与捕获,那么在这一篇文章里,我将总结一下正则表达式的贪婪/非贪婪特性. 贪婪 默认情况下,正则表达式将进行贪婪匹配.所谓"贪婪",其实 ...

  4. python正则表达式模糊匹配_python 正则表达式

    正则表达式的作用:用来匹配字符串 一.字符串方法 字符串提供的方法是完全匹配,不能进行模糊匹配 s = 'hello world' # 字符串提供的方法是完全匹配,不能进行模糊匹配 print(s.f ...

  5. Python 正则表达式完美匹配中文与中文标点符号

    匹配中文标点符号: [\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b] 匹配中文字符的正则表达式: [ ...

  6. python正则表达式模糊匹配_用python正则表达式编译模糊正则表达式

    当我发现python regex模块可以进行模糊匹配时,我感到非常高兴,因为它似乎是解决我许多问题的简单方法. 但是现在我遇到了一个问题,我没有从文档中找到任何答案. 如何使用新的模糊性值功能将字符串 ...

  7. python正则表达式,匹配电话号码

    #写一个正则表达式,能匹配出多种格式的电话号码,包括: text = "(021)88776543 010-55667890 02584533622 057184720483 8379227 ...

  8. python正则表达式\d 匹配数字\D 匹配非数字\w 匹配单词\W 匹配非单词字符

    一个\d代表一个数字.开头没匹配到,即使字符串其他部分包含需要匹配的内容,.match也会返回none import re a = re.match('\d\d','23es12testasdtest ...

  9. python正则匹配找到所有的浮点数_Python随笔17:Python正则表达式基础(4):贪婪匹配和最小匹配...

    Python正则表达式 贪婪匹配/最小匹配 Re库默认采用贪婪匹配,即匹配最长的子字符串.在量词后面加一个"?",即可由贪婪匹配化为最小匹配. '*'用于将前面的模式匹配0次或多次 ...

最新文章

  1. 扩展js string 方法
  2. OpenCV尺寸调整函数resize
  3. input 中的autoComplete属性
  4. 【Oracle Database】数据库控制文件管理
  5. 使用ASP.Net WebAPI构建REST服务(一)——简单的示例
  6. Spring Boot中使用Spring-data-jpa让数据访问更简单、更优雅
  7. php dom 丢失内容,PHP DOMDocument缺失
  8. JS代码实例:实现随机加载不同的CSS样式
  9. 小数点保留若干位小数 %.*f
  10. 笔记_pytorch
  11. Linux 设置交换分区
  12. Git 操作实战示例
  13. linux下opendir的使用
  14. c语言最小二乘求解超定方程,超定方程用最小二乘法求解
  15. 龙世界java下载_龙世界3-龙王之剑
  16. Unity 之自动化打包ipa
  17. 什么是DAOstack
  18. 罗永浩微博发声,锤子或再出新一代坚果手机?
  19. 论文阅读:《POI: Multiple Object Tracking with High Performance Detection and Appearance Feature 》
  20. 成都北大青鸟怎么样?

热门文章

  1. Praat脚本-006 | 批量修改删除复制某一层
  2. 高通平台做GSI测试时,开机重启失败问题
  3. 首期「OSCHINA 开源软件趋势榜」榜单公布 | 有奖征文等你来
  4. ModelCoder:实现汽车四轮转向控制系统的建模仿真
  5. Artifact springmvc-01-servlet:war exploded: 部署工件时出错。请参阅服务器日志
  6. cocos2dx iphoneX 游戏适配
  7. cleardevice
  8. Y7000P 2020安装黑苹果教程
  9. 常见的棋牌游戏网站支付接口
  10. 2022年全国计算机四级考试精选模拟题及答案