Java正则表达式如何匹配_、/或/123?

标签 java regex

我已准备好此 REGEX [_[/\\\d+]] 以获得以下任一内容

  • 下划线 -> _

或者

  • 正斜杠后跟一些数字/123

所以当我尝试匹配以下结果时

  1. _(匹配 -> 确定)

  2. /(匹配 -> 确定)

  3. /123(不匹配 -> 不正常)

我在这里缺少什么?

最佳答案

您正在使用 [] 表示将匹配任何列出的单次的字符类。使用 \d+ 将匹配数字或 + 字符。

如果将像 + 这样的量词添加到字符类本身,您将重复列出的任何内容,但不会有 OR 逻辑。

您应该使用管道 | 作为 OR 部分,它将匹配下划线或正斜杠后跟 1+ 位数字。

要匹配单个正斜杠,您可以使用 * 而不是 + 来匹配 0+ 位数字

_|/\d+

regex demo

注意在Java中双重转义反斜杠 _|/\\d+

关于Java正则表达式如何匹配_、/或/123?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58778468/

相关文章:

java - 我如何将这段代码整理成java中的循环?

JavaScript 正则表达式匹配忽略文字点

regex - 将单元格值转换为 snake_case

c++ - 帮助正则表达式

regex - Google Big Query 中 REGEXP_MATCH 的奇怪行为

Java Robot类按特殊字母?

java - 使用 JPA 递归查询列以查找对象的后代

java - 检查 sqlite 中的文本

java - Nutch 爬行结果作为 JSON

c++ - 在 C++ 中使用 std::regex 匹配精确的子字符串