首页 > 解决方案 > 正则表达式 - 如此接近,却又如此遥远

问题描述

这是我当前的正则表达式:(?:ht|f)tps?:[\S]*\/?(?:\w+)

我需要对其进行改进,使其从下面引用的文本中正确提取以下链接:http://www.purdue.edu/transcom/index.php

关于如何改进当前正则表达式的任何想法?提前致谢!

附加文件和 TransCom 项目网站 ( http://www.purdue.edu/transcom/index.php ) 中提供了有关实验协议和结果的其他信息。此处提供的 1 级实验的结果分为两大类

标签: pythonregex

解决方案


我没有仔细测试您的正则表达式,这还不够清楚,为什么您当前的正则表达式会失败。但一般来说,为了捕捉 ulr,我会使用组的重复(html 的授权字符减去斜杠,如 [a-zA-Z0-9.])和斜杠)类似

r'(?:ht|f)tps?:\\(?:\\[_html_authorized_chars])*'

如果答案总是在引号或括号内,最终是一个积极的前瞻性断言......


推荐阅读