首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配用逗号分隔的特定数字的正则表达式

匹配用逗号分隔的特定数字的正则表达式
EN

Stack Overflow用户
提问于 2015-02-11 19:34:19
回答 3查看 135关注 0票数 2

我有一个正则表达式,它匹配数字1、7和99的任意组合,用逗号分隔。例如,应与之相匹配:

代码语言:javascript
复制
1
1,7
1,99
99,1,7

虽然这些不应相匹配:

代码语言:javascript
复制
1,
8
8,99
,7
1,7,99,

下面的工作很好,但可能会缩短,使更有效率?

代码语言:javascript
复制
/^(1|7|99)(,?(1|7|99)(,?(1|7|99))?)?$/
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-11 19:38:32

您可以使用基于展望的regex:

代码语言:javascript
复制
/^(1|7|99)(?!.*?,\1)(?:,(?:1|7|99))*$/gm

RegEx演示

票数 2
EN

Stack Overflow用户

发布于 2015-02-11 19:43:35

代码语言:javascript
复制
/^(1|7|99)(,(1|7|99))*$/

使用球状上的测试用例进行测试

票数 1
EN

Stack Overflow用户

发布于 2015-02-11 21:09:26

修改@RidesTheShortBus的答案对所有测试用例都非常有效

代码语言:javascript
复制
^(1|7|99)(,(1|7|99){1})*$

测试这里

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

https://stackoverflow.com/questions/28462953

复制
相关文章

相似问题

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