我已经尝试了几个小时来获得一个匹配未知数量的连续数字的正则表达式。我相信 [0-9]* 或 [\d]* 应该是我想要的,但当我使用 Java 的 String.replaceAll 时,它会将我的替换字符串添加到不应该与正则表达式匹配的地方。
例如:我有一个输入字符串“This is my99String problem”如果我的替换字符串是“~”
当我运行这个
myString.replaceAll("[\\d]*", "~" )
或者
myString.replaceAll("[0-9]*", "~" )
我的返回字符串是“~T~h~i~s~~i~s~~m~y~S~t~r~i~n~g~~p~r~o~b~l~e~米~”
如您所见,数字已被替换,但为什么还要在字符之间附加我的替换字符串。
我希望它看起来像“这是我的~字符串问题”
我在做什么错,为什么 java 匹配是这样的。