正则表达式不能处理word和非word字符

66bbxpm5  于 2021-08-25  发布在  Java
关注(0)|答案(2)|浏览(316)

**已关闭。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想要改进此问题?**更新问题,使其位于堆栈溢出主题上。

四天前关门。
改进这个问题

String patternWordnNonWord = "\\w{2,5}\\W{2}";
    String word = "rty!!";

    System.out.println(patternWordnNonWord.matches(word));

//返回false。
我错过什么了吗?我正在看一个教程,似乎对那个人很好,但同样的代码对我来说失败了。在我的机器中使用Java11。

sauutmhj

sauutmhj1#

您的代码应该是这样的。str.matches(regex)生成正确的结果

String patternWordnNonWord = "\\w{2,5}\\W{2}";
    String word = "rty!!";

    //str.matches(regex) yields the correct result
    System.out.println(word.matches(patternWordnNonWord));
pokxtpni

pokxtpni2#

你把模式应用到单词上,而不是反过来。
应该如此

System.out.println(word.matches(patternWordnNonWord));

相关问题