1

我有一个包含这些字符串的文本文件(.sql 数据库)

[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.

如何使用正则表达式语法通过编辑器 Notepad++、Sublime、...的替换功能删除所有字符串?

我在 Notepad++ 中尝试这种正则表达式语法

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

这就是结果

Hyou today?
Glad  coming.

当然这是错误的。这不是我的目标。我的目标是

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

PS:我想删除主题,因为这些是smf论坛数据库帖子中的错误bbcode,html标签。我使用自定义 bbcode 和 Almsamim WYSIWYG 编辑器从 phpbb(中心、右侧、对齐、字体……)转换它。MySQL 在替换查询中不支持正则表达式语法,UDF 插件非常复杂,所以我必须使用 .sql 文件和文本编辑器来完成。

4

1 回答 1

4

你需要一个非贪婪的捕获;.*需要用 a 来限定,以?防止吞下所有内容,直到最后一个 ']' 行。

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

并一无所有。在这里,我还删除了多余的括号,并使用反斜杠转义了 '['、']' 和 ':'。

于 2013-01-03T15:57:43.160 回答