我有一些文本如下:
"tbl_One"."Column Name A" AS "Column Name A",
"tbl_Two"."Column Name B" AS "Column Name B",
"tbl_Three"."Column Name C" AS "Column Name C",
除了在 AS 之后紧跟的空格,我想选择在 AS 之后的每一行的所有空格。
我一直在以下网站上进行实验:https://regex101.com/
到目前为止,我已经提出了这一点,它捕获了我实际上想搜索空格字符的每一行的一部分:
/(?<=AS ).*(?=$)/gm
例如,在第一行,它捕获:
"Column Name A",
我现在要告诉它“好吧,丢弃所有您捕获的字符(空格除外)。”
我该如何实现?这将在Notepad ++中用于删除所有捕获的空间。
答案 0 :(得分:0)
您可以使用
查找内容:(?:\G(?!^)|\bAS\s+")[^\s"]*\K\h+
替换为:<empty string>
请参见regex demo
详细信息
(?:\G(?!^)|\bAS\s+")
-上一次成功匹配(\G(?!^)
的末尾或(|
)中的单词AS
作为一个整体单词(\b
是一个单词边界),后跟1+个空格(如果此处没有换行符,可以用\h+
代替)[^\s"]*
-除空格和"
之外的任何0+个字符\K
-匹配重置运算符,用于将到目前为止已匹配的文本清零\h+
-1个以上水平空格字符。Notepad ++设置屏幕截图: