为逗号分隔的字符串正则表达式匹配 [英] Regex match for comma delimited string

查看:2158
本文介绍了为逗号分隔的字符串正则表达式匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下的字符串,它是合法的。

I have the following string which is legal.

1-5,10-15

使用下面的正则表达式,我得到一个错误的匹配

Using the following regex, I get a false for match.

^[^-\s]*-?[^-\s]*$

它工作正常的事情像


  • 1-5,10

  • 1.5

这些都是合法的。但它不会处理逗号分隔范围。我缺少什么?

which are all legal. But it won't handle comma delimited ranges. What am I missing?

推荐答案

尝试这种模式,

^\d+(\-\d+)?(\,(\d+(\-\d+)?))*$

这将匹配以下字符串:

1-5,10-15,5
1,2,3-5,3-4
1-5,10-15
10-15
10-15,5

但不能

1-,10-15,5
1,2,3-5,3-
1-510-15
10-15,
,10-15,5




  • 截图

    • Screenshot
    • 这篇关于为逗号分隔的字符串正则表达式匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆