今天在做正则匹配的时候,遇到了一个问题,不啰嗦直接上demo
正则:reg="^.{0,256}$";
前台用文本域输入值后,到了后台存入数据变成了\r\n
,验证时一直提示字符串超长
原规则使用:
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
正常情况下不会匹配\r\n
,需要将Pattern.compile(regex);
改为Pattern.compile(regex,Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
如下
Pattern pattern = Pattern.compile(regex,Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
测试后正常运行