2013-01-03 19 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

优秀!非常感谢。 –