1. 程式人生 > >正則表示式的部分替換 $1~$99

正則表示式的部分替換 $1~$99

來源於js,但是同樣適用於java,關於正則表示式的介紹不多贅述。
主要說明一下正則表示式的部分替換。
比如要替換字串“我是程式設計師”裡面的“程式設計師”,替換為“工程師”。直接模式匹配是可以的,但是如果更加複雜就難了。
使用正則,可以做到。


原始字串:我是程式設計師
正則:(.*)(程式設計師)(.*)
替換為:$1工程師$3

如上即可,其中$1$3分別代表第1個和第3個括號內匹配到的內容。

巢狀括號也可以

原始字串:我是程式設計師
正則:(.*)(([^不是]|[^是]|)程式設計師)(.*)
替換為:$1工程師$4

這樣可以替換什麼?比較複雜,它會匹配“程式設計師”,但是不能匹配“不是程式設計師”或者“是程式設計師”。
這時正則裡面有4個括號,所以最後一個匹配項要用$4