首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式只允许数字、逗号和破折号。

正则表达式只允许数字、逗号和破折号。
EN

Stack Overflow用户
提问于 2017-08-02 02:25:36
回答 2查看 12.9K关注 0票数 3

我正在尝试找出一个数据注释正则表达式来匹配以下格式。

34

38-30

100,25-30

4-5,5,1-5

基本上,表达式应该只允许任意顺序的数字-(dash)、(逗号)

我试着跟着做,但没能成功。

代码语言:javascript
复制
[RegularExpression(@"(0-9 .&'-,]+)", ErrorMessage ="Lot numbers are invalid.")]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-02 02:34:28

我认为您的用例是有一个CSV数字列表,或者数字范围(标识为一个数字,后面跟着一个破折号,后面跟着另一个数字)。我们可以使用以下正则表达式:

代码语言:javascript
复制
[0-9]+(?:-[0-9]+)?(,[0-9]+(?:-[0-9]+)?)*

这个正则表达式匹配一个数字,后面跟着一个可选的破折号和另一个数字,然后是那个数量,然后是逗号和另一个类似的术语,任意次数。

在下面的演示中,我在正则表达式的两边添加了锚。是否需要这样做取决于您计划如何使用该模式。

演示

票数 5
EN

Stack Overflow用户

发布于 2017-08-02 02:30:28

我是^[0-9,-]*$。看看这个演示

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

https://stackoverflow.com/questions/45450483

复制
相关文章

相似问题

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