正则表达式 Java "test 123" 需要失败
Regex Java "test 123" needs to fail
所以我创建了一个程序,它会通过一个输入文件并只提取其中包含 2 个单词的行。然后我试图只拉出只有字母的线。如果有任何数字,我需要它失败。到目前为止,在研究之后我已经想出了下面的代码并且只是停留在如何让 "test 123" 失败。它一直在传递。`下面是对我的匹配函数和函数本身的调用。
*
*
else if (line.matches("[\w\-.]{2,} [\w\-.]{2,}"))
{
getmatch();
}
public static String getMatch()
{
if (line.matches("/[a-zA-Z]+/g") )
{
match=line;
}
return match;
}
我会使用以下通用模式来匹配包含两个仅包含字母的单词的行:
\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!");
}
所以我创建了一个程序,它会通过一个输入文件并只提取其中包含 2 个单词的行。然后我试图只拉出只有字母的线。如果有任何数字,我需要它失败。到目前为止,在研究之后我已经想出了下面的代码并且只是停留在如何让 "test 123" 失败。它一直在传递。`下面是对我的匹配函数和函数本身的调用。 * *
else if (line.matches("[\w\-.]{2,} [\w\-.]{2,}"))
{
getmatch();
}
public static String getMatch()
{
if (line.matches("/[a-zA-Z]+/g") )
{
match=line;
}
return match;
}
我会使用以下通用模式来匹配包含两个仅包含字母的单词的行:
\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!");
}