1

我正在尝试寻找允许任何逗号分隔值的正则表达式。像这样。

  1. 23,23,23
  2. 233-2-3,23,23
  3. 23/23/2333,22-22-2222,23

我尝试了几件事,但没有一个适合 100%。

  1. [^,;]+
  2. /(?!,)(?:(?:,|^)([-+]?(?:\d*\.)?\d+))*$/
  3. (\d+, ?)+(\d+)?

我的用例是,如果我的字符串通过上面的正则表达式,我将解析所有值并将其存储到一个数组中。如果字符串没有任何单个,而不是保留该字符串。

谢谢

4

1 回答 1

0

如评论中所述,我们得出了以下解决方案:

(?m)^(?:\d+[\/,-]){2,}\d+$

解释:

  • (?m):分别制作^$匹配行的开始和结束。
  • ^: 行首
  • (?:: 忽略组
    • \d+: 匹配一个数字 1 次或多次
    • [\/,-]: 后跟一个/,-
  • ):忽略组的右括号
  • {2,}:匹配两次或更多
  • \d+: 匹配一个数字 1 次或多次
  • $: 行结束

在线演示

于 2013-05-26T11:26:25.853 回答