正则表达式精准匹配带kg/g单位的重量值问题咨询
解决重量数值匹配的正则表达式问题
你需要的正则表达式可严格匹配「十进制数字+可选空格+kg/g单位」的完整内容,排除纯数字和带多余信息的条目,正确表达式如下:
^\d+(\.\d+)?\s*(kg|g)$
表达式细节说明:
^:锚定字符串开头,确保匹配从内容起始处开始\d+:匹配至少1位整数部分,支持整数重量值(\.\d+)?:可选的小数部分,?表示该部分可省略,兼容整数、小数两种重量格式\s*:匹配0到多个空格,兼容数字与单位之间有无空格的情况(kg|g):精确匹配kg或g重量单位$:锚定字符串结尾,确保没有多余附加内容(如尺寸信息)
测试验证(完全符合你的预期):
匹配成功的条目:
- 153g
- 124g
- 11.4 kg
- 0.2 kg
- 26.0 kg
- 26.0 kg
- 27.6 kg
- 8.1 kg
- 212g
- 159 g
- 65.5g
- 194 g
- 1.6 kg
- 19.37 kg
- 19.4 kg
- 120 g
- 120 g
匹配失败的条目(符合剔除需求):
- 92(纯数字无单位)
- 8.1(纯数字无单位)
- 0.025kg 43 x 43 x 14 mm(包含多余尺寸信息)
- 86 x 86 x 35 mm(无重量单位)
- 32.5 x 47 x 62 mm(无重量单位)
内容的提问来源于stack exchange,提问作者James B.
相关产品推荐
相关产品推荐

