2015-01-10 20 views
0

我想我需要的正則表達式這一點,但它是新的給我更換值...查找/在記事本中的特定列++

我有一個文本文件,什麼是200行數據,100 INSERT INTO行和100個對應的VALUE行。

所以它看起來像這樣:

INSERT INTO DB1.Tbl1 (Col1, Col2, Col3........Col20) 
VALUES(123, 'ABC', '201450204 15:37:48'........'DEF') 

我想要做的是替換這COL3每一個日期/時間戳值:CURRENT_TIMESTAMP。日期/時間戳對於每一行都不相同。他們不同,但他們都在第3列。

此表中有100條記錄,其他表中有更多,這就是爲什麼我正在尋找一個快捷方式來做到這一點。

+0

這是一個數據庫的SQL代碼...不知道這是如何與Notepad ++或正則表達式相關。 –

+1

你可能會更好地服務於實際旋轉某種SQL服務器。除非您確定前兩列不含「特殊字符」(例如,逗號,單引號),否則在正則表達式中執行此操作將會非常棘手。 – senshin

+1

'201450204'這是什麼日期?外觀異常 – prospector

回答

0

試試這個:搜索與(INSERT[^,]+,[^,]+,)([^,]+,)([^']+'[^']+'[^']+)('[^']+',)

$1$3更換和查馬克的正則表達式在記事本++

Live demo

0

隨着

  • 「價值」 就在被該行的開頭,
  • 所有 「col1」 值是所有數字和
  • 爲 「col2的」

值內沒有單引號,你可以搜索

^(VALUES\(\d+, '[^']+',)'(\d{9} \d{2}:\d{2}:\d{2})' 

,代之以

\1CURRENT_TIMESTAMP 

沿着RegEx101。 (請記住,Notepad ++在替換字符串中使用反斜槓...)

就我個人而言,我會考慮直接訪問數據庫並修復時間戳 - 尤其是,如果您有更多數據需要處理。 (請參閱我的上述評論以瞭解總體思路。)

如果需要進一步詳細信息/調整,請發表評論。