正则表达式

时间:2017-10-22 12:45:15

标签: regex

我有一个这样的数字:09123456789。我希望将其格式化为:0912 345 6789。我怎么能用正则表达式做什么?

1 个答案:

答案 0 :(得分:1)

在大多数语言中,有比regex更好的方法。但是,如果必须使用正则表达式,则应该能够找到将匹配组插入输出的工具,并使用它来格式化结果。

例如,在Java中,您使用$N来引用捕获组编号N,即第一组$1,第二组$2,等等上。因此,使用两个空格重新格式化11位数字符串将如下所示:

String s = "09123456789";
String r = s.replaceAll("(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3");

正则表达式捕获4-3-4位数的组,然后$1 $2 $3在组之间插入空格。

Demo.