c# - 逗号分隔字符串的正则表达式匹配

标签 c# regex

我有以下合法的字符串。

1-5,10-15

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

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

它适用于

  • 1-5,10
  • 1,5

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

最佳答案

逗号的处理在哪里?尝试在 regexper 中可视化您的正则表达式

现在试试这个:

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

screenshot from regexper.com

更新:我的正则表达式不是解决方案,因为您可能对捕获有非常具体的需求。但是,一旦您看到正则表达式的作用,这个漂亮的工具可能会帮助您完成任务。

关于c# - 逗号分隔字符串的正则表达式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17614911/

相关文章:

java - 在 Java 中使用正则表达式验证字符串是否包含模式

java 正则表达式,除字母字符/字符串之外的所有内容

php - 当没有列关系时从第二个表中检索数据

C# 从 CSV 文件中读取特定值

c# - 将标签添加到 MailChimp 成员对象

c# - 如何用字母创建按字母顺序排列的列表?

c# - 在 C# 中初始化一个属性

正则表达式用 bool 替换 bool 值

php - 使用 PHP GET 清理用于 href 的字符串

c# - AsParallel() 在网络环境中是好的做法吗?