2015-03-19 94 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