我正在尝试实现一个if语句来接受任何包含Java中任何字母a-k(大写和小写)的单词。我的输入是一个字符串。 我猜它会是这样的:
if(input.equals("[a-kA-K]+")){
System.out.println("the input was: $0");
}
但我不知道该怎么做。
答案 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)