來源於js,但是同樣適用於java
正則表達式的部分替換
比如要替換字符串“我是程序員呀”里面的“程序員”,替換為“工程師”。直接模式匹配是可以的,但是如果更加復雜就難了。
使用正則可以做到。
如
原始字符串:我是程序員呀
正則:(.*)(程序員)(.*)
替換為:$1工程師$3
如上即可,其中$1和$3分別代表第1個和第3個括號內匹配到的內容。

嵌套括號也可以
如
原始字符串:我是程序員呀
正則:(.*)(([^不是]|[^是]|)程序員)(.*)
替換為:$1工程師$4
這樣可以替換什么?比較復雜,它會匹配“程序員”,但是不能匹配“不是程序員”或者“是程序員”。
這時正則里面有4個括號,所以最后一個匹配項要用$4。

參考地址 https://blog.csdn.net/zhanlanmg/article/details/51833903
