Regex vscode中基于正则表达式的搜索和替换
在VSCode中:我想对以下内容进行通配符替换:Regex vscode中基于正则表达式的搜索和替换,regex,visual-studio-code,Regex,Visual Studio Code,在VSCode中:我想对以下内容进行通配符替换: rgb(1, 1, 1 ,1) 与: 基本上,当指定alpha值时,数据类型应该从“rgb”更改为“rgba”。 如果未指定alpha,例如rgb(1,1,1)-它们应保持不变 我试过: 查找:rgb(.*,.*,.*,.*) 替换:rgba($1) 这显然不起作用。要实现这一点,正确的正则表达式语法是什么?多谢各位 更新:请注意,某些位置的逗号前/后有空格。不一致。要与数字周围任意数量的空格匹配: Search: rgb(?=\((\s*\d
rgb(1, 1, 1 ,1)
与:
基本上,当指定alpha值时,数据类型应该从“rgb”更改为“rgba”。
如果未指定alpha,例如rgb(1,1,1)-它们应保持不变
我试过:
查找:rgb(.*,.*,.*,.*)
替换:rgba($1)
这显然不起作用。要实现这一点,正确的正则表达式语法是什么?多谢各位
更新:请注意,某些位置的逗号前/后有空格。不一致。要与数字周围任意数量的空格匹配:
Search: rgb(?=\((\s*\d+\s*,){3}\s*\d+\s*\))
Replace: rgba
这将匹配任意数量的空白,并在替换后修复它们。有效的RGB值是
0-9
和a-f
或什么?有效的RGBA值是0到255。谢谢rgb\(\d+,\d+,d+,\d+)
在这种情况下会这样做。(这比0-255
稍微宽松一点,但如果可行,您可以将\d
更改为一个范围(例如)宽松就可以了。但这对我不起作用。VSCode搜索无法识别任何具有该模式的文本(我知道它应该具有该模式)。谢谢。使用“查找”框中的*
按钮激活正则表达式搜索
Search: rgb(?=\((\s*\d+\s*,){3}\s*\d+\s*\))
Replace: rgba
Search: rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)
Replace: rgba($1, $2, $3, $4)