java - 如何匹配包含 [ 后跟任何大于 0 的数字的字符串?
问题描述
我正在尝试匹配包含[后跟 大于 0 的数字的字符串。
例如,我的正则表达式模式应该匹配如下字符串:
Sample.3cb11b[1].books.addressDetail.addrDetail2
Sample.3cb11b[28].books.addressDetail.addrDetail2
并且不应该匹配
Sample.3cb11b[0].books.addressDetail.addrDetail2
我尝试过类似的东西".*\\[[1-9].*"
。
解决方案
我已经尝试过这个正则表达式,它似乎工作:
^([a-zA-Z0-9]*).([0-9a-z]*)(\[[1-9][0-9]*?\])(.[a-zA-Z0-9]*){3} // this is very exact, maybe too much
.*\[[1-9][0-9]*\].* // this seems to also work, but only cares about the 'greater than 0' part
这是regex tester的链接。
推荐阅读
- nosql - Couchbase N1QL 查询根据特定字段变得不同
- php - 使用 php 替换类内容
- mysql - Docker MySQL Github Actions 连接被拒绝
- ms-word - 使用 JavaScript API 在 MS Word 中对文本范围进行分组
- string - str_replace 并保持原始模式 [r]
- javascript - 如何禁用默认行为当你按下回车?
- r - 按组对同一列进行管道操作
- huggingface-transformers - 如何使用拥抱面部转换器为翻译任务训练编码器-解码器模型?
- groovy - 通过 vars.putObject 将对象转换为“double”类
- javascript - 使用 ordeyByChild 在 Angular 中显示我的 firebase 数据的困难