2013-12-11 16 views
0

我有這個重複數據的文本文件組數據從文本文件

UPDATE TGw_WaiService 
     SET inputVarClass = 'pp.ccc.conn.service.HJ22Var' 
    where SERVICE='HJ22' 

    UPDATE TGw_WaiService 
     SET inputVarClass = 'pp.cgd.wai.service.HJA5Var' 
    where SERVICE='HJA5' 

    (...) 

我希望將所有的單引號裏面的「服務」分配後的信息,在這種情況下,我想是這樣這

"HJ22"    
"HJA5" 

我想避免建立在一些編程語言中的一些腳本,我怎麼可以與一些產品做出來的箱子,我能做到這一點在記事本+ +的?

回答

1

是的,這可以使用Notepad ++。轉到Search>Replace菜單(快捷鍵CTRL + ^h)並執行以下操作:

  1. 查找內容:

    $1\n 
    
  2. .+?where SERVICE='([A-Z0-9]+)' 
    
  3. 與更換選擇單選按鈕「正則表達式」和「。匹配換行符」

  4. 然後點擊‘全部替換’

您可以在regex101測試它。

+0

您可以簡單地做一個查找所有...記事本++列出了一個整潔的小所有的比賽接口 –

+0

PERFECT,你能解釋一下替換部分的$符號嗎? 以及爲什麼我們必須檢查「matches newline」 – tt0686

+0

@ tt0686 a)'$ 1'是一個特殊變量,它保存第一次捕獲的匹配結果組(我們已經在我們的匹配模式中用圓括號定義了一個捕獲組( [A-Z0-9] +)')。 b)「。matches newline」表示通常匹配任何字符的點'.'也應該匹配新行。在我們的情況下,這是需要的,以匹配所有以前的行。作爲學習測試,刪除選項,運行正則表達式,看看會發生什麼!如果你從'gms'中刪除's'修飾符,你也可以在regex101上測試它。 – psxls