0

我试图5在每个1value+ pxso 1pxshould become15px100pxshould become之间插入1005px

我正在搜索1(.*?)px并替换为,1$15px但这不起作用...

4

3 回答 3

2

自从有人问这个问题以来已经有一段时间了,但是对于遇到类似问题的其他人来说,这里有一个简单的答案。

在 Sublime Text 2 中,以下替换字符串将为您提供所需的结果。

1${1}5px

示例文本:

1px 
100px 1px and 100px

1px 100px 1px and 100px 1px 
100px 1px and 100px1px 
100px 1px and 100px

找什么:

1(.*?)px

用。。。来代替:

1${1}5px

结果:

15px 
1005px 15px and 1005px

15px 1005px 15px and 1005px 15px 
1005px 15px and 1005px15px 
1005px 15px and 1005px

这使用命名组替换${ name }而不是数字组替换$ number。在这种情况下,数字一代表名称。

由于某种原因,当数字跟随编号组时,Sublime Text 2 正则表达式引擎无法很好地进行替换。

于 2014-05-30T19:13:24.357 回答
0

您的替换可能看起来像捕获组$15而不是$1. 我不熟悉 sublimetext2 但你可能需要像这样逃避你的替换:

s/1(.*?)px/1${1}5px/

这肯定是 perl 中的正确语法,看起来与您正在使用的语法非常相似。

于 2012-10-18T12:29:57.000 回答
0

Sublime Text 2 使用反斜杠来指代捕获组,\1而不是$1

找什么:(1\d*) ?px

用。。。来代替:\15px

由于没有捕获组 15,这将正常工作。

于 2012-11-13T10:43:58.137 回答