我有这个 :

东方日报》是由学生经营的报纸,专门为伊利诺伊州查尔斯顿市的东伊利诺伊大学社区出版。该报纸成立于1915年http://media。万维网。 dennews。 com / media / storage / paper309 / news / 2005/11/04 / News / The-News。旋转90-1045667。并在学年的工作日和夏季的每周两次发布。

该纸赢得了许多州和国家的奖项,包括一些起搏器奖。 http://search。 Atomz。 com / search /?sp_a = sp01089f00&sp_f = iso-8859-1&sp_q =%22daily + eastern + news%22这篇论文的编辑,制作和广告人员完全由一系列学位课程的学生组成。

我想删除上面段落中粗体部分的空格。

预期产量:

每日东方新闻是由学生经营的报纸,为伊利诺伊州查尔斯顿市的东伊利诺伊大学社区出版。该报纸成立于1915年,在学年的工作日和夏季的每周两次出版。

该纸赢得了许多州和国家的奖项,包括一些起搏器奖。 http://media.www.dennews.com/media/storage/paper309/news/2005/11/04/News/The-News.Turns.90-1045667.shtml论文的编辑,制作和广告人员完全由一系列学位课程的学生组成。

我尝试过的正则表达式:

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


用。。。来代替

$1

最佳答案

检查以下regex

搜索:

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


替换:

.


这会找到所有.[space]后跟一个com /,其中之间没有非英文字母,因为所有域名通常都是英文字母或数字,适合您的情况,但可能会包含更多字符,以确保在以下情况下所有域名都被覆盖您有更多的文本,并用点代替.[space]

更新资料
上面的解决方案仅适用于.com之前的空格,如果您需要替换包括尾随路径在内的url完整字符串中的所有.[space]事件,则最好使用'http://'部分,但是对于这是因为lookbehinds的大小为零,所以我们首先需要对字符串进行reverse

并将反面的regex应用于搜索部分,

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


.替换

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

关于python - 正则表达式格式化URL,不带空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29144871/

10-13 07:31