java - 正则表达式在 java 代码中不起作用,但在测试站点上不起作用

标签 java regex

我研究了一些正则表达式,它应该接受“P1”和“P2”,但只接受这两个组合。 所以我在这个网站上进行了测试:http://www.regexr.com/ 这导致我

\b(P1)\b|\b(P2)\b

该网站刚刚获得正确的匹配。

显然在我的java代码中同样的方法不起作用:

if(commandParameter.matches("\b(P1)\b|\b(P2)\b")){
        return false;
    }

作为命令参数,我给出 P1 或 P2。它仍然没有返回 false。 你有什么想法吗?

最佳答案

请注意,匹配将进行完全匹配而不是部分匹配。

if(commandParameter.matches(".*\\bP[12]\\b.*")){
    return false;
}

精确匹配。

if(commandParameter.matches("P[12]")){
        return false;
    }

关于java - 正则表达式在 java 代码中不起作用,但在测试站点上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31724623/

相关文章:

java - 检查字符串是否为有效数字的逻辑

java - 如何将多个条形码图像添加到一张PNG图像中?

javascript - 在 javascript 正则表达式中检查 "this AND that WITHOUT this"的方式

ruby-on-rails - Ruby Rubocop - 更喜欢使用 MatchData

java - 从 HashMap 中读取对象内容

java - 按下按钮时服务未启动?

php - Laravel 路由变量限制为 17 个字符

regex - Groovy 与 replaceAll 与通配符

python - python的正则表达式

java - 非法 block 大小异常 : Input length must be multiple of 8 when decrypting with padded cipher