因此,我创建了一个程序,该程序将带通一个输入文件,并且仅拉入其中包含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;
}
答案 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!");
}