2013-01-03 51 views
1

我有一個文本文件(.SQL數據庫)包含隨機字符,containings這些字符串字符串如何刪除它通過正則表達式語法

[center:t1jrwz84] 
[center:18gl5k7g] 
[center:3tkgm3zz] 
[center:1jrwz84d] 

它們出現在這樣的

Hello [center:t1jrwz84] everyone. How are[center:18gl5k7g]you today? 
Glad to meet[center:3tkgm3zz] you. Thanks for[center:1jrwz84d] coming. 

如何文本文件通過使用正則表達式替換Editor Notepad ++,Sublime,...的函數來刪除所有字符串?

我嘗試在記事本中這個表達式語法++

- Find what: [[center].*.[]] 
- Replace with: 

這是結果

Hyou today? 
Glad coming. 

當然,這是錯誤的。這不是我的目標。我的目標是

Hello everyone. How are you today? 
Glad to meet you. Thanks for coming. 

PS:我想刪除主題,因爲這些都是錯誤的bbcodes,HTML標籤SMF論壇的數據庫的職務。我使用自定義bbcode和Almsamim WYSIWYG編輯器將​​它從phpbb(中心,右對齊,字體,...)轉換而來。 MySQL不支持替換查詢中的正則表達式語法,UDF插件如此複雜,所以我必須使用.sql文件和文本編輯器來做到這一點。

回答

3

您需要一個non-greedy捕獲; .*需要通過?來限制,以避免吞噬一切直到上一個']'在線。

查找:\[center\:(.*?)\]

,並沒有更換。在這裏,我也刪除了多餘的括號,並用反斜線將'[',']'和':'轉義出來。

+0

優秀!非常感謝。 –