首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >逗号分隔的ids和范围的正则表达式

逗号分隔的ids和范围的正则表达式
EN

Stack Overflow用户
提问于 2012-08-17 22:56:29
回答 2查看 298关注 0票数 0

我有一个过滤器,它有一个字段,允许您输入逗号分隔的I列表或I范围。例如,"1,2,3“和"4-9”是有效的ids。为此,我编写了以下正则表达式:

代码语言:javascript
复制
/(^\d+(?:[,]\d+)*$)|(^\d+-\d+$)/.test(str)

其中str是我要计算的字符串。这可以很好地工作,并为所有场景返回正确的布尔值,除非在某个范围内,第一个id大于第二个。例如,12-10是一个无效的范围,但上面的正则表达式不会返回false。

有没有办法使用正则表达式来验证这一点?显然,我可以将字符串拆分为'-‘并比较两个部分,但会失去正则表达式提供的简洁性。

EN

回答 2

Stack Overflow用户

发布于 2012-08-17 22:59:34

“正则表达式提供的简洁性”可能不值得它带来的复杂性。这似乎是一个定义明确的问题,首先在,上对每个元素进行拆分,然后在-上对每个元素进行拆分似乎是一种非常简单和有效的方法。

票数 3
EN

Stack Overflow用户

发布于 2012-08-17 22:58:54

解决这个问题不是正则表达式的工作。

使用正则表达式提取范围,然后进行验证。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12008170

复制
相关文章

相似问题

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