问题: 匹配结果: [a 和 =339。 为什么不能给前面的[ 和=去掉呢,明明后面的就去掉了。 一番百度谷歌之后好像有点懂了,?=意思是不保留匹配,也就是匹配之后原字符转是不变的,继续按照正则表达式向后匹配,当后面的字符全不要了的时候(也就是]及之后),那已经保留的目的串中没有该字符。而前面的[,由于后面的匹配还可以包含他,所以最后结果中有前面的字符;按照这个思路,把.+换成\w+,结果里面啥也没有。