正则表达式Java“测试123”需要失败

时间:2018-12-28 06:11:27

标签: java regex letters-and-numbers

因此,我创建了一个程序,该程序将带通一个输入文件,并且仅拉入其中包含2个单词的行。然后,我试图仅拉出仅包含字母的行。如果有任何数字,我需要它失败。到目前为止,在研究之后,我想出了下面的代码,只是停留在如何使“测试123”失败上。它不断传递。`下面是对我的match函数以及函数本身的调用。            *            *

else if (line.matches("[\\w\\-.]{2,} [\\w\\-.]{2,}"))
        {
            getmatch();
        } 




public static String getMatch() 
    {
        if (line.matches("/[a-zA-Z]+/g") )
        {
            match=line;
        }

        return match;
    }

1 个答案:

答案 0 :(得分:1)

我将使用以下常规模式来匹配带有两个仅包含字母的单词的行:

\s*[A-Za-z]+\s+[A-Za-z]+\s*

此模式还将考虑到两个单词的两侧或之间的任何空白。请注意,默认情况下,String#matches会在输入正则表达式模式周围包括开始和结束锚点,因此尽管我确实在下面的演示中将它们包括在内,我们也无需显式包括它们。

您将使用以下模式:

String input = " Hello World  ";
if (input.matches("\\s*[A-Za-z]+\\s+[A-Za-z]+\\s*")) {
    System.out.println("Found a match!");
}

Demo

相关问题