如何编写正则表达式精确匹配XX.XX.XX.格式(X为0-9任意数字)
固定格式XX.XX.XX.字符串整串正则校验方案
问题背景
- 正则编写经验不足,自行尝试的多个匹配规则中,仅
[0-9.0-9\\.0-9.0-9\\.0-9.0-9\\.]可运行,但该规则会放行不符合要求的错误字符串,无法满足校验需求。 - 校验目标:对数据列单元格内容做整串精确匹配,仅允许完全符合
XX.XX.XX.格式的内容通过,其中X为0-9的任意数字,整串无任何多余字符,筛选出不合规内容修正后用于后续数据处理。
合规样例
01.12.20.26.02.11.
不合规样例
01.12.20:末尾缺失点号26.0.2.11.:数字段不满足固定两位的要求
可用正则表达式
整串精确匹配的正则写法如下:
^\d{2}\.\d{2}\.\d{2}\.$
规则拆解说明
^:锚定字符串起始位置,避免字符串开头出现多余字符\d{2}:匹配恰好2位0-9范围的数字,对应格式中固定两位的数字段\.:转义后的点号,用于匹配字面量.字符(未转义的.在正则中是匹配任意单字符的元字符,必须转义才能匹配真实点号)$:锚定字符串结束位置,避免字符串末尾出现多余字符
原有写法问题说明
之前使用的[0-9.0-9\\.0-9.0-9\\.0-9.0-9\\.]属于字符集匹配规则,方括号内的所有内容会被识别为「匹配集合内任意单个字符」,既没有顺序约束,也没有长度约束,只要字符串包含数字、点、反斜杠中的任意字符就可能被匹配,因此无法实现精确格式校验。
内容的提问来源于stack exchange,提问作者Bagatini
相关产品推荐
相关产品推荐

