java - Java:正则表达式不包括空值
问题描述
在这里的问题中,我得到了正则表达式来匹配 1 到 99 之间的一组(或多组)数字,由 | 分隔。或 ,(两者都可以组合)。
我想更新它来做同样的事情,但现在接受 0 到 99 之间的数字。
这个修改后的版本这样做:
^(?:[0-9]|[1-9][0-9])?(?:[,|][1-9][0-9]?)*$
1
但现在接受空值(请参阅https://regex101.com/r/FfvavR/2)
问题
如何修改1下的 regExp以排除空值?
解决方案
只需删除第一次出现的?:
. 它使组成为可选的。因此,您有两个接受空字符串的可选组。
您也可以简化[0-9]|[1-9][0-9]
为[1-9]?[0-9]
(?
表示第一个数字是可选的)
结果:
^([1-9]?[0-9])(?:[,|][1-9]?[0-9])*$
推荐阅读
- php - 用phpexcel保存到临时文件
- python-3.x - 散景 - ColumnDataSource 不更新胡须图
- api - 通过 Azure API 管理生成访问令牌并针对 IdentityServer4 进行验证
- laravel - 如何解决“关系‘a’不是 HasOne 或 BelongsTo 的实例。” 在 laravel 里?
- javascript - 与firebase函数重写和vue路由器冲突
- game-physics - Game Maker - 方向速度
- visual-studio - 具有两个相同类型的自动参数的 MSVC lambda
- php - Woocommerce 页面设置字段缺失
- python - Pandas 中的块自举抽样
- c# - Google Drive API .NET 的嵌套文件夹查找