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*
- 零个或多个换行符
$
- 字符串结尾。
在我的 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*
- 零个或多个换行符$
- 字符串结尾。