我有一个如下所示的字符串:["StringA":8,"StringB":50,"StringC":286]
。
现在我想检查一下" StringA" 之后的值是否小于 10 。所以" StringA":1 到" StringA":9 应匹配,但" StringA&#34 ;:12 或" StringA":318 不匹配。
我尝试了("Data":[0-9])
,但这确实不起作用。
答案 0 :(得分:1)
这个正则表达式应该是足够的:
"StringA"\s*:\s*(\d)\b
正则表达式DEMO及解释
var s ='["StringA":8,"StringB":50,"StringC":286,"StringA":44]';
console.log(s.match(/"StringA"\s*:\s*(\d)\b/g));
答案 1 :(得分:0)
如果您已准备好 以匹配零填充值,例如"StringA":01
(01
在技术上可能值较少而不是10
)你可以尝试负向前看
"Data":[0-9](?![0-9])
即。 "Data":
后跟单个数字,不后跟第二个数字。如果要包含零填充值,请添加0*
:
"Data":0*[0-9](?![0-9])