Notepad ++正则表达式将引号括在方括号的内容周围

时间:2018-05-03 23:39:10

标签: regex notepad++

我有大量带有数字列名的ACCESS,SQL表达式。我正在使用Notepad ++进行编辑 我想在这些特定名称周围加上引号,而不是在方括号内的任何其他名称。

[243_type_conversion] 

变成这个

["243_type_conversion"]

我试过这个:

find what:    (\[)([0-9])(.*)(\])
replace with: \1"\2\3"\4 

但是在这个例子中:

 SELECT HAZARD.[LOAN_NO],HAZARD.[FIRST_PRIN_BAL],HAZARD.[352_Ins_Co_Code] from HAZARD where (((HAZARD.[352_Ins_Co_Code]) = [PAYEE_CODE] ));

我明白了:

 SELECT HAZARD.[LOAN_NO],HAZARD.[FIRST_PRIN_BAL],HAZARD.["352_Ins_Co_Code] from HAZARD where (((HAZARD.[352_Ins_Co_Code"]) = [PAYEE_CODE] ));

当我需要时:

 SELECT HAZARD.[LOAN_NO],HAZARD.[FIRST_PRIN_BAL],HAZARD.["352_Ins_Co_Code"] from HAZARD where (((HAZARD.["352_Ins_Co_Code"]) = [PAYEE_CODE] ));

任何想法都会有所帮助

2 个答案:

答案 0 :(得分:2)

抓住整个东西,然后把它放回去

Search: \[(\d+\w+)\]
Replace: ["$1"]

答案 1 :(得分:1)

您应该对匹配域进行一些限制。删除贪婪点.*并放置[^\]]*

\[(\d[^\]]*)\]

并替换为["\1"]