一、该问题的重现步骤是什么?
1. 为啥这个这么耗时呢
2.
3.
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
2.5.1
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
校验的参数为:oRrdQt-jkAvGWXjGXKhJpSZZOzfs
正则为:
public static final String EMAIL = "^\\w+([-+.]*\\w+)*@([\\da-z](-[\\da-z])?)+(\\.{1,2}[a-z]+)+$";
public static final String PHONE = "^1[3456789]\\d{9}$";
public static final String EMAIL = "^\\w+([-+.]*\\w+)*@([\\da-z](-[\\da-z])?)+(\\.{1,2}[a-z]+)+$";
我单独测试发现,是这个正则表达式 校验的时候 耗时较长
是你参数的问题,你应该解码后用常规的数据来校验,这个没办法,毕竟都是很底层的用法,没法再优化了,除非你简化email的判断正则,去除一些逻辑
你的参数:
正常参数:
正常错误参数:
另外阿里巴巴的开发手册里面有这么一句说明:
在使用正则表达式时,利用好其预编译功能,可以有效加快正则匹配速度
你可以使用正则编译,提高匹配速度
扫一扫访问 Blade技术社区 移动端