java - 正则表达式 Java "test 123"需要失败

标签 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;
    }

最佳答案

我将使用以下通用模式来匹配具有两个仅字母单词的行:

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

此模式还将考虑两个单词两侧或之间的任意数量的空格。请注意,String#matches 默认情况下包含输入正则表达式模式周围的开始和结束 anchor ,因此我们不需要显式包含它们,尽管我确实将它们包含在下面的演示中。

您可以将此模式用作:

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

Demo

关于java - 正则表达式 Java "test 123"需要失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53954388/

相关文章:

java - PIT未发现突变

java - 比较同一列表中元素的高效算法

Java:将 if-return 语句封装在方法调用中以获得更干净、更简洁的代码?

java - 为什么要在公共(public) API 中包含未实现的方法,例如 Thread.destroy()?

r - 系统地用关联的 R 向量的第一个元素替换变量名的一部分

javascript - 正则表达式用于查找JavaScript字符串内外的文本?

php - 我需要一个 RegExp 来只匹配拉丁字符而不匹配其他字符

Java检查字符串中的重复字母

Java - 帮助将字母转换为整数,加5,然后转换回字母

c# - 当我输入字母而不是变量时,我的简单计算器程序在 C# 中出现问题