如何在替换中使用正则表达式中匹配文本的一部分用于 Sublime Text?
How do I use a part of the matched text in regex for Sublime Text, in the replacement?
如果我有
width: 12px 0;
width: 24px 0;
如何使用正则表达式将其替换为
width: 12px 0px;
width: 24px 0px;
同时保持第一个数字不变?
我正在使用使用 Python PCRE 作为正则表达式的 Sublime Text。我尝试搜索 Google 和 Bing 并阅读 Sublime Text 文档,但找不到任何有用的信息。使用 :[0-9]*px 0;
和 :${m}px 0px;
无效。
你可以使用
(:\h*\d+px\h+\d+);
(
捕获组 1
:\h*\d+px
匹配 :
个可选空格和 1+ 个数字后跟 px
\h+\d+
匹配1+个空格和1+个数字
)
;关闭组并匹配 ;
并替换为第一组,然后是 px;
,如 px;
在不使用捕获组的情况下,这可能是使用 \K
忘记到目前为止匹配的内容并替换为 px;
的另一种选择
:\h*\d+px\h+\d+\K;
如果我有
width: 12px 0;
width: 24px 0;
如何使用正则表达式将其替换为
width: 12px 0px;
width: 24px 0px;
同时保持第一个数字不变?
我正在使用使用 Python PCRE 作为正则表达式的 Sublime Text。我尝试搜索 Google 和 Bing 并阅读 Sublime Text 文档,但找不到任何有用的信息。使用 :[0-9]*px 0;
和 :${m}px 0px;
无效。
你可以使用
(:\h*\d+px\h+\d+);
(
捕获组 1:\h*\d+px
匹配:
个可选空格和 1+ 个数字后跟px
\h+\d+
匹配1+个空格和1+个数字
)
;关闭组并匹配;
并替换为第一组,然后是 px;
,如 px;
在不使用捕获组的情况下,这可能是使用 \K
忘记到目前为止匹配的内容并替换为 px;
:\h*\d+px\h+\d+\K;