Skip to main content
 首页 » 编程设计

python之正则表达式格式化没有空格的url

2025年05月04日22birdshome

我有这个:

The Daily Eastern News 是一份由学生经营的报纸,为位于伊利诺伊州查尔斯顿的东伊利诺伊大学社区出版。该报创办于 1915 年 http://media 。万维网。新闻。 com/media/storage/paper309/news/2005/11/04/News/The-News。转向 90-1045667。 shtml 并在学年的工作日和夏季每周发布两次。

该论文赢得了无数州和国家奖项,包括多个 Pacemaker 奖。 http://search 。原子。 com/search/?sp_a=sp01089f00&sp_f=iso-8859-1&sp_q=%22daily+eastern+news%22 该报的编辑、制作和广告人员全部由不同学位的学生组成程序。

我想去掉上面段落中粗体部分的空格。

预期输出:

The Daily Eastern News 是一份由学生经营的报纸,为位于伊利诺伊州查尔斯顿的东伊利诺伊大学社区出版。该报纸于 1915 年 http://media.www.dennews.com/media/storage/paper309/news/2005/11/04/News/The-News.Turns.90-1045667.shtml 创刊,在学年的工作日和夏季每周出版两次。

该论文赢得了无数州和国家奖项,包括多个 Pacemaker 奖。 http://search.atomz.com/search/?sp_a=sp01089f00&sp_f=iso-8859-1&sp_q=%22daily+eastern+news%22 该报的编辑、制作和广告人员全部由来自一系列学位类(class)的学生组成。

我试过的正则表达式:

([(http://(.)\.)|(www\.)])\s 

替换为

$1 

请您参考如下方法:

检查以下 regex

搜索:

(?=\. [a-zA-Z1-9\. \-]*?com)\.  

替换:

. 

这将找到所有 .[space] 后跟一个 com/之间没有非英文字母,因为所有域通常都是英文字母或数字,适合您的情况,但可能包括一些更多字符以确保在您有更多文本时涵盖所有域名,并将 .[space] 替换为点。

更新 上面的解决方案仅适用于 .com 之前的空格,如果您需要替换所有出现的 .[space] 在包括尾随路径的 url 的完整字符串中,最好使用 'http ://' 部分,但是为此,由于后视的大小为零,我们需要执行 reverse字符串的第一个

并应用以下 regex在搜索部分的背面,

 (?=[a-zA-Z0-9\/ \.\-]+\/\/:ptth) \. 

将其替换为 。

然后将字符串再次反转,这很容易done in python