java - Java 正则表达式如何匹配 _、/ 或 /123?
问题描述
我已经准备好这个正则表达式[_[/\\\d+]]
来获得以下任何一个
- 下划线 ->
_
或者
- 正斜杠后跟一些数字
/123
因此,当我尝试匹配以下结果时
_
(匹配 -> 确定)/
(匹配 -> 确定)/123
(不匹配 -> 不正常)
我在这里想念什么?
解决方案
您正在使用[
并且]
它表示将匹配任何一次列出的任何字符类。Using\d+
将匹配一个数字或一个+
字符。
如果您+
向字符类本身添加量词,您将重复列出的任何内容,但您将没有 OR 逻辑。
您应该为 OR 部分使用管道,该管道|
将匹配下划线或正斜杠后跟 1 位以上的数字。
要还匹配单个正斜杠,您可以使用*
而不是匹配 0+ 位数字+
_|/\d+
注意在Java中双重转义反斜杠_|/\\d+
推荐阅读
- angular - 为 Clarity 数据网格行实现 Angular CDK 虚拟滚动
- spring - 休息助手类实例的最佳实践?
- android - gradle:如何加快查找依赖项的 maven 存储库?
- apache-flink - Flink 停止作业 API 返回“308 永久重定向”
- java - Kotlin:Java 类型不匹配,使用显式强制转换
- php - 如何在现有项目的控制器中使用 symfony、twig 和教义
- java - Java ReentrantReadWriteLock.writeLock 线程忽略 while 条件
- amazon-web-services - 在 AWS 中将 bitbucket 管道部署到实时服务器的最佳实践
- python - 如何删除 requests_html 中的 adsense 代码?
- azure - COMOS DB 中的自动索引