用于将RGB字符串转换为RGBa字符串的正则表达式

时间:2016-12-01 11:35:24

标签: java regex

我正在使用String#replace()将RGB字符串转换为RGBa字符串。这是当前的代码:

inputString = "rgb(255, 182, 121)";
outputString = inputString.replace( "rgb", "rgba" ).replace( ")", ",255)" ).replace( " ", "" );

在上面的示例中,输出将为"rgba(255,182,121,255)"。然而,这个解决方案看起来有点复杂,我认为使用正则表达式可以更优雅地完成。

如何编写正则表达式(在Java中)来完成与上面代码相​​同的操作?

1 个答案:

答案 0 :(得分:2)

当然可以:

    inputString.replaceFirst("rgb\\((\\d++),\\s*(\\d++),\\s*(\\d++)\\)", "rgba($1,$2,$3,255)");

如果您更频繁地使用它,最好使用Pattern.compile()预编译正则表达式。