if语句和正则表达式java

时间:2013-10-25 18:24:13

标签: java if-statement expression

我正在尝试实现一个if语句来接受任何包含Java中任何字母a-k(大写和小写)的单词。我的输入是一个字符串。 我猜它会是这样的:

if(input.equals("[a-kA-K]+")){
    System.out.println("the input was: $0");
}

但我不知道该怎么做。

2 个答案:

答案 0 :(得分:2)

我认为您需要执行pattern match之类的操作。例如:

Pattern p = Pattern.compile("a*b");
 Matcher m = p.matcher("aaaaab");
 boolean b = m.matches();

然后

if(b)
{
 //Your code.
}

来自@yshavit评论(这很重要):

值得注意的是Pattern p对象是不可变的并且是线程安全的,并且可以共享(例如,通过创建Pattern一次并将其存储在私有静态final中)。如果您不关心每次创建模式,并且您不需要访问正则表达式中捕获的组,您也可以只调用静态Pattern.matches(pattern,stringToLookIn)

答案 1 :(得分:1)

如果输入为String,则可以使用input.matches("[a-kA-K]+")

文档:http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#matches(java.lang.String)