Content

java正则表达式判断前端参数修改表中另一个字段的值(java正则表达式校验数字)硬核推荐

文章摘要

这篇文章描述了一个Java方法`updateById`,用于根据`SysEntity`对象的属性值进行字符串验证和状态更新。该方法主要涉及以下核心内容: 1. **字符串验证**: - 验证字符串是否符合特定规则,使用正则表达式匹配: - 字符串规则:仅包含汉字(范围为`[一-龥]`)。 - 数字规则:匹配整数或小数形式。 2. **状态比较与更新**: - 如果字符串符合汉字规则,则设置标志字段`ifRise`为“2”(等于)。 - 如果字符串符合整数或小数规则,则根据现状值与目标值的比较结果,更新`ifRise`字段为“1”(上升)、“0”(下降)或“2”(等于)。 总结:该方法通过正则表达式对输入字符串进行验证,并根据验证结果更新相关字段的状态值。

 public int updateById(SysEntity sysEntity) { // 要验证的字符串 前端接收的参数 String str=sysEntity.getNowYear(); // 正则表达式规则 汉字 String regEx=”^[\一-\龥]{0,}$”; // 正则表达式规则 整数或者小数 String regExNum=”^[0-9]+\\.{0,1}[0-9]{0,2}$”; // 编译正则表达式 Pattern pattern=Pattern.compile(regEx); Pattern patternNum=Pattern.compile(regExNum); Matcher matcher=pattern.matcher(str); Matcher matcherNum=patternNum.matcher(str); // 查找字符串中是否有匹配正则表达式的字符/字符串 boolean rs=matcher.find(); boolean rsNum=matcherNum.find(); if (rs==true) { //是否上升,1高于,0小于,2等于 // 判断 符合条件修改IfRise的值 sysTargetEntity.setIfRise(“2”); } if (rsNum==true) { // 现状值和目标值相比 现状>目标就是1 // 接收的两个参数相比较 int result=sysEntity.getNowYearStatus().compareTo(sysEntity.getNowYear()); if (result>0) { // 是否上升,1高于,0小于,2等于 sysEntity.setIfRise(“1”); } else if (result<0){ sysEntity.setIfRise(“0”); } else if (result==0) { sysEntity.setIfRise(“2”); } } return this.baseMapper.updateByIds(sysTargetEntity); }