当前位置: 首页 > 知识库问答 >
问题:

特定范围内逗号分隔数字的Regex

郎成龙
2023-03-14

我需要验证逗号分隔的最小和最大数字限制的regex。我试过这个regex,但没有运气

^(45|[1-9][0-5]?)$

我想要这样的列表(最小数字是1,最大数字是45)

23,45,3,7,1,9,34

共有1个答案

苗信鸥
2023-03-14

这不是regex的工作(regex对数字不方便,想象一下需要构建一个巨大模式的更复杂的范围(247,69352)也是如此)。所以我的建议是拆分字符串,然后逐个检查项目。

没有regex的方式:

function numsInRange(s, min, max) {
    var items = s.split(',');
    for (var i in items) {
        var num = parseInt(items[i], 10);
        if (num != items[i] || num < min || num > max)
            return false;
    }
    return true;
}

var s='23,45,3,7,1,9,34';

console.log(numsInRange(s, 1, 45)); // true
console.log(numsInRange(s, 1, 44)); // false

演示

 类似资料:
  • 我对java有点陌生,我不能简单地检测这段代码中的错误。它只是在用户给出的特定范围内打印质数,并用逗号分隔质数。我收到的错误意味着第4行“表达式的非法开始”和第11行“类型的非法开始”,我不知道为什么。

  • 我试图验证数字1-8的逗号分隔列表。

  • 我试图验证一个逗号分隔的数字列表1-31唯一(不重复)。 20、15、3 我尝试但是它接受重复的数字

  • 作为前言,我意识到还有其他关于逗号分隔数字的正则表达式的主题,但当我试图使用这些解决方案时,它们都不起作用。

  • 问题内容: 我有一个像 我想把它分成那些字符串 如果我简单地打电话给我,那么在修剪之后我会得到不同的结果,因为在某些字符串中,例如,仍然有一个逗号。但我不想放在方括号中。有解决这个问题的优雅方法吗? 问题答案: 假设和没有嵌套和未转义。您可以使用以下方式进行拆分: 正则演示 如果逗号后面没有非圆括号和,则将匹配逗号,从而忽略和中的逗号。

  • 问题内容: 我有一个整数列表,需要将其解析为一系列字符串。 例如: 等等。 我仍在学习处理列表的更多pythonic方法,这对我来说有点困难。我最近的想法是创建一个列表列表,以跟踪成对的数字: 然后,我可以遍历此结构,将每个子列表打印为范围或单个值。 我不喜欢在两次迭代中执行此操作,但是我似乎无法跟踪每次迭代中的每个数字。我的想法是做这样的事情: 这是我最近的尝试。它有效,但是我并不完全满意;我一