昨天一个同事找看个问题,请求某个接口在参数长一点的时候总是超时,查看atop信息,发现cpu几乎耗尽,atop信息如下
占用cpu最高的是他的进程,怀疑写了死循环,jstack发现如下
明显是有循环调用了,cpu爆的原因和 https://yq.aliyun.com/articles/25576 的一样,都是Curly方式,不过连接里很多是源码解析比如type=0,回到我们的问题,我们的正则表达式是怎么写的呢?
^(\\w*|\\W*)+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$
想匹配email
问题解决
修改正则表达式为
^[\\w*|\\W*]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$
修改点为小括号改为方括号