2015-03-19 100 views
2

格式化网址我有这样的:正则表达式来不带空格

每日新闻东部是出版了查尔斯顿,伊利诺伊州东伊利诺伊大学社区的学生跑报纸。该报成立于1915年http://media。万维网。 dennews。 COM /媒体/存储/ paper309 /新闻/ 2005/11/04 /新闻/本 - 新闻。 Turns.90-1045667。 shtml并在学年的平日和夏季每周两次出版。

该论文赢得了众多的州和国家奖项,其中包括几个Pacemaker奖项。 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并在学年的平日和夏季每周两次出版。

该论文赢得了众多的州和国家奖项,其中包括几个Pacemaker奖项。 http://search.atomz.com/search/?sp_a=sp01089f00&sp_f=iso-8859-1&sp_q=%22daily+eastern+news%22该论文的编辑,制作和广告工作人员完全由一系列学位课程的学生组成。

正则表达式我想:

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

替换

$1 
+0

很难用正则表达式。那个空格之后的字母(_in link_)是否总是以小写字母开头? – 2015-03-19 12:55:21

+0

没有。它可以是数字,大写和小写。 – iNikkz 2015-03-19 12:58:23

回答

1

检查以下regex

搜索:

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

取代:

. 

这会发现所有.[space]接着一个COM /那里是介于两者之间,因为所有的领域都是英文字母或数字一般没有非英文字母,符合你的情况,但可能包括:如果您有更多文本,请确保覆盖所有域名,并用点替换.[space]

更新 上述解决方案仅适用于以前的空间。com,如果你需要用包括尾部路径的完整字符串来替换所有发生的.[space],那么使用'http://'部分是一个好主意,但是对于这一点,因为lookbehinds的大小为零,所以我们将需要做字符串第一

reverse和运用反向搜索部分跟随着regex

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

.

替换此再次返回字符串逆向,这可能是容易done in python

+0

它只删除空间upto(.com)。不是来自整个网址。 – iNikkz 2015-03-19 12:55:57