You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java正则如何实现匹配小数点后仅为2位或4位纯数字的字符串

正则修正方案

错误原因

你之前编写的正则把所有规则放到了[]字符组中,字符组仅会匹配单个位置的字符,内部的分组符号、或逻辑符号、量词都会被识别为普通字符,完全无法实现预期的长度校验和类型限制逻辑。

正确正则写法

适配你所用的matches方法(默认全量匹配规则)的正确写法如下:

variable.matches("\\.(\\d{2}|\\d{4})")

规则说明

  • \\.:转义后匹配小数点本身,避免被识别为正则通配符
  • \\d:等价于[0-9],仅匹配0-9的数字字符,自动过滤非数字内容
  • {2}/{4}:量词,限定前面的数字刚好出现2次或者4次
  • 小括号包裹两种长度规则,用|实现「2位数字」或「4位数字」的或逻辑判断

如果需要严格禁止字符串前后存在其他多余字符,可以额外添加首尾锚点,写法如下:

variable.matches("^\\.(\\d{2}|\\d{4})$")

内容的提问来源于stack exchange,提问作者powqmnbvc21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:24:04