我需要编写一个正则表达式来接受这样的输入
23,456,22,1,32767
即
- 开头或结尾不允许使用逗号。
- 空格可以出现在逗号之前和/或逗号开头,例如: 23、45、56、67 等
- 每个数字的范围应为 0-32767。
目前我正在使用像这样的正则表达式[0-9]+(,[0-9]+)*
。
这允许仅用逗号分隔数字(根本不允许空格),并且不检查数字范围。
最佳答案
分两步完成可能是明智的。首先检查范围是否为0-99999:
^[0-9]{1,5}( *, *[0-9]{1,5})*$
然后使用通用编程语言将字符串解析为整数列表,并检查 x <= 32767
对于每个整数 x。
关于REGEX 接受以逗号分隔的数字,但数字范围为 0-32767,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6261796/