求一个js正则表达式

检索一个json字符串;格式:
varjson='[{"i":"t2","n":"xx","x":"12678","y":"10456","c":"","m":3},{"i":"t3","n":"xx","x":"13678","y":"11456","c":"","m":3},{"i":"t4","n":"xx","x":"18456","y":"13456","c":"","m":3}]';
//条件11000varreg=//g;
varresult=json.match(reg);
对x,y值满足范围的进行匹配,获取x,y所在的字符串对象({...}).
如x的值需要在11000~13000之间,匹配后的结果:
[{"i":"t2","n":"xx","x":"12678","y":"10456","c":"","m":3}]。
慕码人8056858
浏览 380回答 2
2回答

慕后森

试试json.match(/\{[^{]+?\"x\":\"1[12][0-9]{3}\",\"y\":\"1[12][0-9]{3}\",[^}]+?\}/g)?看看我有没有写错/\{[^{]+?//排除{,使用惰性匹配\"x\":\"1[12][0-9]{3}\",//只匹配x从11000到12999的内容\"y\":\"1[12][0-9]{3}\",[^}]+?\}/g//作用于全局

蝴蝶不菲

没必要用正则啊。js处理json最合适不过了。varjson='[{"i":"t2","n":"xx","x":"12678","y":"10456","c":"","m":3},{"i":"t3","n":"xx","x":"13678","y":"11456","c":"","m":3},{"i":"t4","n":"xx","x":"18456","y":"13456","c":"","m":3}]';//条件11000
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript