替换记事本中的字符++但不包括单引号内的字符

时间:2015-08-15 14:20:02

标签: regex notepad++ regex-negation regex-lookarounds

我有一个这样的字符串:

SELECT column_name FROM table_name WHERE column_name IN ('A' , 'stu' ,'Meyer', ....);

我想要将notepad ++中的所有字符从上到下替换(或反之亦然)但是,从替换中排除单引号内的字符。

  

条件:在单引号部分之前/后面没有固体结构!

     

(这意味着 - 我不能使用关键字“IN”或类似“,”或“(”)的符号   或“)”或“;”对于这个正则表达式...!)

目标字符串(单引号内的字符必须保持不变):

select column_name from table_name where column_name in ('A' , 'stu' ,'Meyer', ....);

OR(反之亦然)

SELECT COLUMN_NAME FROM TABLE_NAME WHERE COLUMN_NAME IN ('A' , 'stu' ,'Meyer', ....);

如何在notepad ++中排除单引号(替换)?

(我发现单引号与例如'(。*?)'或'(\ w +)'或'[[:alpha:]] {1,}',..)

我很高兴每一个答案,如果你不使用记事本++!

1 个答案:

答案 0 :(得分:1)

在正则表达式下面会匹配单引号内不存在的所有大写字母。

[A-Z](?=(?:'[^']*'|[^'\n])*$)

Now, right-click on the matched characters and change it to lowercase.

DEMO