当前位置: 首页 > 知识库问答 >
问题:

Regex数字由或-分隔,不带数字重复和增长

罗渝
2023-03-14

可以输入的数据示例:1004,1032,1051,1062,1070,1092,1115,1136,1148,1164,1175,1180,1320,1332,1344,1350,1368,1380,1386,1406,1414,1418,1428,1442,1448,1506,1524,1534,1550,1578,1584,1594,1 688,1708,1722,1750,1768,1772,1824,1853,4202-4205,8004,8180。

我的regex解决了一些情况,但不能解决最后两种情况:(^(\d{1,4}))(([,-]\d{1,4})+)?

有人有办法解决最后两个案子吗?

共有1个答案

师承弼
2023-03-14

用regex强制执行最后两个限制并不实际。正如Tobias所提到的,Regex在模式方面很棒,但在逻辑方面却不太好。我会考虑其他选项,例如在执行编程/脚本语言中检索完整匹配,在逗号上拆分,以及使用循环进行验证。

对于似乎是范围列表的regex,要获得稍微健壮一点的regex,请尝试:

^\d{1,4}(-\d{1,4})?(,\d{1,4}(-\d{1,4})?)*$

这将阻止诸如1,2-3-4-5这样的条目

 类似资料:
  • 总体目标:我希望能够捕获一个正或负数,看起来像这样:xxx.xxx 我也在使用谷歌表,所以我不能使用任何查找

  • 我试图验证数字1-8的逗号分隔列表。

  • 我有这样一个字符串:<代码>0 1-3 4 5 6!7.8 9-10\n11我只想得到两边都有空格或换行符或什么都没有的数字,即0,4,5,6,11。我的regexp只有4和6。 Regexp测试

  • 我在文件上写了一些样本数据。数据的格式如下- 我必须提取由“[”和“]”分隔的信息。所以我发现- 我不太熟悉字符串拆分。我只知道当字符串仅由一个字符分隔时(例如-string1-string2-string3-…)如何拆分字符串。

  • 我的程序中有很多textviews。我希望这些文本视图中的数字以3到3隔开。我应该为任何TextView编写代码吗?有没有一种方法可以编写一次代码并将其用于整个程序?谢谢你。

  • 我试图验证一个逗号分隔的数字列表1-31唯一(不重复)。 20、15、3 我尝试但是它接受重复的数字