Java 在字符串之后检查字符串

Java 在字符串之后检查字符串,java,regex,string,jakarta-ee,pattern-matching,Java,Regex,String,Jakarta Ee,Pattern Matching,我正在编写一个逻辑来检查特定关键字后面是否有任何数字(在本例中为“top”) 我使用模式匹配查找来实现这一点及其工作 public static boolean hasNumberafterTOP(String query) { boolean hasNumberafterTOP = false; Pattern pat = Pattern.compile("top\\s+([0-9]+)"); Matcher matcher = pat.matcher(query);

我正在编写一个逻辑来检查特定关键字后面是否有任何数字(在本例中为“top”)

我使用模式匹配查找来实现这一点及其工作

public static boolean hasNumberafterTOP(String query)
{
    boolean hasNumberafterTOP = false;
    Pattern pat = Pattern.compile("top\\s+([0-9]+)");
    Matcher matcher = pat.matcher(query);
        if(matcher.find())
        {
            hasNumberafterTOP = true;
            numberAfterTOP=matcher.group(1);
        }


    return hasNumberafterTOP;       
}
我有没有办法扩大这张支票的范围,把这些词也包括进去。五、十、二十、三十等等?

试试下面的代码:

String keyword = "top";
Pattern p= Pattern.compile("\\d*\\s+"+Pattern.quote(keyword));
Matcher match = p.matcher(query");
match .find();
String inputInt = makeMatch.group();
System.out.println(inputInt);
([0-9]+|1 | 2 | 3)
等等。你会在那里呆一会儿。
String keyword = "top";
Pattern p= Pattern.compile("\\d*\\s+"+Pattern.quote(keyword));
Matcher match = p.matcher(query");
match .find();
String inputInt = makeMatch.group();
System.out.println(inputInt);