来源于js,但是同样适用于java
正则表达式的部分替换
比如要替换字符串“我是程序员呀”里面的“程序员”,替换为“工程师”。直接模式匹配是可以的,但是如果更加复杂就难了。
使用正则可以做到。
如
原始字符串:我是程序员呀
正则:(.*)(程序员)(.*)
替换为:$1工程师$3
如上即可,其中$1和$3分别代表第1个和第3个括号内匹配到的内容。
嵌套括号也可以
如
原始字符串:我是程序员呀
正则:(.*)(([^不是]|[^是]|)程序员)(.*)
替换为:$1工程师$4
这样可以替换什么?比较复杂,它会匹配“程序员”,但是不能匹配“不是程序员”或者“是程序员”。
这时正则里面有4个括号,所以最后一个匹配项要用$4。
参考地址 https://blog.csdn.net/zhanlanmg/article/details/51833903