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