Google 匹配所有数字和范围的表单 RegEx 验证

Google form RegEx validation that matches all numbers and ranges

在我的 Google 表单中,我想像这样授权数字和数字范围:

1 to 9,
10 to 80,
90,
100

分隔符可以是, | ;或换行符,其他例子

100
110 to 115
540

50 | 60 | 70 to 80 | 100

我原以为这个正则表达式可以工作(选择正则表达式 > 匹配 > (to)|[0-9 \n|,;]*)但它失败了。

有什么想法吗?

您可以使用

^\d+(?:(?:\s*(?:to|[\n|;,])\s*)\d+)*\n*$

regex demo详情:

  • ^ - 字符串的开头
  • \d+ - 一位或多位数字
  • (?:\s*(?:to|[|;,])\s*\d+)* - 零次或多次出现
    • \s*(?:to|[\n|;,])\s* - to|;, 或包含零个或多个空格的换行符
    • \d+ - 一位或多位数字
  • \n* - 零个或多个换行符
  • $ - 字符串结尾。