查询了一下,发现:

  • repaceAll和repaceFirst使用的是正则表达式
  • replace使用的是普通的kmp

传入的参数是不同的
在这里插入图片描述* regex是正则表达式的表达式,会进行转义

  • oldchar、newchar是标准的字符串,并不会进行转义

在正则表达式里面:

* . ? + ^ $ | \ / [ ] ( ) { }

这几个字符是必须进行转义的。
 
如果直接用字符串作为正则表达式的参数会导致正则表达式解析失败,从而抛出java.lang.IllegalArgumentException: Illegal group reference

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐