使用正则表达式进行重复反向链接的重复捕获

使用正则表达式进行重复反向链接的重复捕获

我成功捕获了以冒号结尾的连续组,但我不知道如何让每个捕获在替换中重复,并带有反向链接引用。这是一个示例干草堆:

body .wpCSS {
font-size:14px;
font-size:1rem;
color:#444;
}

div .vaCSS {
font-size:12px;
font-size:.8rem;
color:#555;
}

以下是捕获以下内容的正则表达式:从左括号到第一个冒号,然后到每个冒号,然后到右括号。非贪婪,因此每次只匹配一个部分。

\{(.*?:)+?(.*?)\}

我希望替换操作在每个冒号后插入一个空格。我尝试了所有我能想到的反向链接引用、嵌套等,但我可以让反向链接引用只作用于第一个或最后一个冒号部分。我正在尝试在任何 haystack 大小上进行反向链接引用,在每个冒号后插入空格。注意:我使用的是 Notepad++,我将点设置为匹配新行,这就是点处理新行的方式。

答案1

perl

s/([^:]*:)/\1 /g;

对我有用;在每个冒号后插入一个空格。

仅在花括号内

s/([^}:]*:)(?=[^{]*[}])/\1 /g;

相关内容