Java:正则表达式取代

Mar*_*aux 3 java regex string replace

我有这个字符串:

foo bar 567 baz
Run Code Online (Sandbox Code Playgroud)

现在我想在每个数字之前添加String num:.
所以结果必须是:

foo bar num:567 baz
Run Code Online (Sandbox Code Playgroud)

这也必须工作:

foo 73761 barbazboom!! 87
result:
foo num:73761 barbazboom!! num:87
Run Code Online (Sandbox Code Playgroud)

搜索数字的正则表达式是这样的:[0-9]+
但我想用num:+ [匹配子字符串] 替换匹配的子字符串

我现在用数字写了一个例子,但另一个例子可以是:在每个电子邮件地址之前添加 Email found:

Bal*_*usC 8

利用分组.您可以使用括号()定义组,并在结果中通过$nwhere n索引来标识组.

String string = "foo bar 567 baz";
String replaced = string.replaceAll("(\\d+)", "num:$1");
Run Code Online (Sandbox Code Playgroud)