首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用正则表达式从列表中获取范围

使用正则表达式从列表中获取范围
EN

Stack Overflow用户
提问于 2014-01-24 13:29:39
回答 1查看 69关注 0票数 0

我有一个数字列表,例如

代码语言:javascript
复制
var list = ["123","12345678","123","234,2345","2.34567","123.12345","-123","-0.1234","-324215.45"];

这个列表可以有负数,正数和可选的十进制值,也可以是负数或正数。

我需要使用正则表达式来做3件事:

  1. getAllNumbersBeforeValue(值);
  2. getAllNumbersAfterValue(值);
  3. getRangeBetweenValues(valueFrom,valueTo);

传入的值不知道,可以是任何数字。

更新1:

我得到了这个,这并不完美,但适用于一些数字:

代码语言:javascript
复制
var a = function(rand) {
    var val = "";

    var numArr = rand.split("");
    for(var i = 0; i < numArr.length; i++) {
        val = val + (Number(numArr[i])+1);
    }
    return "^[^" + val.split("").join("-9][^") + "-9]$"
}; // outputs "^[^2-9][^3-9][^4-9][^5-9][^6-9]$" with rand "12345"

我试图从给定的值(例如"123456“是一个随机数( rand ) )中获得一个以编程方式生成的正则表达式,我希望能够使用regex值筛选出高于rand(或低于rand)的值的数字数组。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-01-24 13:36:56

您可以使用underscore.js (http://underscorejs.org)筛选结果。例如..。

代码语言:javascript
复制
var list = ["123","12345678","123","234,2345","2.34567","123.12345","-123","-0.1234","-324215.45"];

function getAllNumbersBeforeValue(list, value) {
    return _.filter(list, function(num) { 
        return num < value; 
    });
}

这里有一个没有使用框架的例子..。

代码语言:javascript
复制
function getAllNumbersBeforeValue(list, value) {
    var output = [];
    for(var i = 0; i < list.length; i++) {
        if(list[i] < value) {
            output.push(list[i]);
        }
    }
    return output;
}



getAllNumbersBeforeValue(list, 123);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21334003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档