java - Java RegExp 用于一组单独的数字
问题描述
我正在尝试编写一个正则表达式验证:1 到 99 之间的一组(或多组)数字由|
or分隔,
(两者都可以组合)
例子
必须接受:
1
10
1,2,3|5|10,20|30
1|5
必须拒绝:
1,
10,,
1,2,3!5
对于数字组,它直截了当:[1-9][0-9]
. 其余的,它是一个谜(仍然)。
问题
有人可以协助提出正确的正则表达式吗?
解决方案
^[1-9][0-9]?(?:[,|][1-9][0-9]?)*$
解释:
^ # Start of string
[1-9][0-9]? # Match a number between 1 and 99
(?: # Start of optional capturing group:
[,|] # Match one separator
[1-9][0-9]? # and a number 1-99
)* # any number of times (including 0)
$ # End of string
推荐阅读
- javascript - 在网页视图中滚动
- java - 为什么 SSLSocket 写入选项没有超时?
- tensorflow - 在 GPU 上训练 ssd_mobilenet_v2 模型需要多少 RAM?
- sql-server - 这返回了超过 1 个值
- c++ - 从回调访问文本框时出现分段错误
- visual-studio - 试图编译 pgAgent。得到一个错误 wx/setup.h: No such file or directory
- javascript - “按钮”未定义 react/jsx-no-undef react.js
- sql-server - 设置 SQL Server 2017 时出错
- node.js - 如何在nodejs中加载非常大的csv文件?
- logging - NLog 配置未读取布尔属性