Ian*_*n G 3 regex search replace notepad++ lookbehind
我有以下 CSS 标记。
.previous-container{
float:left;
}
.primary-commands {
float:right;
}
Run Code Online (Sandbox Code Playgroud)
使用正则表达式语法搜索,(?<=[\s,;])([a-zA-Z\-]+):它会按预期突出显示 CSS 属性名称,但是,单击“替换”后,不会替换任何内容。我尝试在替换行中使用组标记语法,例如$[nth group]和任何纯文字字符串替换。无论我如何尝试,它都不会用任何内容替换匹配的字符串。我使用的是记事本++版本6.7.5。也许我在这里缺少一些明显的东西?
根据对原始问题的评论,这里有一些解决我的问题的解决方法。
选项1
将正则表达式语句的lookbehind 部分替换(?<=[\s,;])为简单的非lookbehind 组匹配语句,例如([\s,;]). 这将继续将搜索结果限制为以回溯中指定字符开头的字符串。唯一需要注意的是,在我的替换字符串中,例如,$1 $2我需要省略不需要的匹配字符,这些字符不应成为替换字符串的一部分。
选项#2
使用“全部替换”按钮。在正则表达式语句中使用正向查找后,它将正确执行替换,而不是使用“替换”按钮进行单一替换。
我选择选项 #1 只是因为它满足了我的需要,同时允许我一次执行一个替换。对于较大的文档,在彻底测试我的正则表达式之前,我不想使用“全部替换”。