2014-10-09 33 views
-4

我有以下文本,我試圖通過將所有類別放在自己的行上來'整理'。我不知道如何使用正則表達式或任何其他方法。文本解析問題 - 如何正確地打印

名稱:品牌-SLES址:(不可重定位)

版本:11供應商:SUSE LINUX產品有限公司,紐倫堡,德國

發佈:三零年三月二十日生成日期:星期五2012年2月3日

安裝日期:週三2014年9月24日編譯主持人:古拜杜麗娜

組:系統/ FHS源RPM:品牌-SLES-11-3.20.30.src.rpm

尺寸:1659許可:BSD 3條

簽名:RSA/8,週五2012年2月3日,鑰匙ID e3a5c360307e3d54

打包機:http://bugs.opensuse.org

摘要:SUSE Linux Enterprise Server的品牌文件

應該

名稱:品牌推廣,SLES

址:(不可重定位)

版本:11供應商:SUSE LINUX

產品有限公司,紐倫堡,德國

發佈:三○年三月二十○日

生成日期:星期五2月3日2012安裝日期:Wed Sep 24 2014

建設主機:gubaidulina集團:System/Fhs

源RPM:品牌-SLES-11-3.20.30.src.rpm

大小:1659許可:BSD 3-第

簽名:RSA/8,星期五2012年2月3日,密鑰ID e3a5c360307e3d54
打包機:http://bugs.opensuse.org

摘要:SUSE Linux Enterprise Server的品牌文件

我不介意前手就可以做一些修改(刪除某些空間等),以幫助其總體目標。

+0

這可以用兩個以上的字的關鍵字列表來完成,否則它使用一個單詞。我會發布我的意思。 – sln 2014-10-09 17:31:31

+0

thx,看看fw :) – Fearghal 2014-10-09 17:32:51

回答

1

這可以使用多於兩個單詞的關鍵字列表完成,否則它使用單個單詞。

使用已知單詞的原因是,沒有任何正則表達式明智地確定短語的開始處

代用是\n$1

編輯 - 更新正則表達式(消耗/條前面的空白字符)

# @"\s*\b((?:\w+|Keywords1|Keywords2|Keywords3):)" 

\s*      # Strip all preceding whitespace(will get replaced with \n) 
\b 
(      # (1 start) 
     (?: 
      \w+   # default, single word 
     | Key words1 # or, known words or phrases 
     | Key words2 
     | Key words3 
    ) 
     : 
)      # (1 end) 
+0

嘿thx男人,我回到繪圖板與eidea它不可能不知道關鍵字格式。 'n $ 1做什麼? – Fearghal 2014-10-10 11:15:04

+0

@Fearghal - 它的替代品,會在關鍵字之前插入換行符。 – sln 2014-10-10 15:23:34