随笔填坑-java 正则 匹配 带有\R\N字符的字符验证不通过

本文介绍了一种解决正则表达式无法正确匹配包含换行符的文本的问题的方法。通过调整Pattern.compile()方法的参数来使其能匹配包括 在内的所有字符,解决了前台输入在后台被解释为字符串超长的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在做正则匹配的时候,遇到了一个问题,不啰嗦直接上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();

测试后正常运行

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值