用于匹配结束括号的 Sublime Text 正则表达式语法

Sublime Text Regex Syntax to Match Ending Bracket

我有一个巨大的 SQL 查询,如下所示:

SELECT Attr1 AS [Attr1], Attr2 AS [Attr2], ... AttrN AS [AttrN] from Table

使用 Sublime Text,我想删除 AS [Attr1], AS [Attr2] 等,因为它们是多余的,并将查询转换为这种形式:

SELECT Attr1, Attr2, ... AttrN from Table

到目前为止,我已经尝试了 AS[\W\w]*\],但选择了第一个 AS 之后的所有内容,直到最后一个 ]。但我应该在下一个 ] 停止,我如何在 Sublime Text 中执行此操作?

你应该使用 non-greedy 个匹配器:

 AS \[.*?\]

什么都不替换

使用AS[\W\w]*?\]。这是一个 reluctant 匹配,因此它只会匹配到 first ] 而不是最后一个。我认为最好使用:

 AS .*?]

因为属性值中可能包含 AS

(\w+) AS \[\] 替换为