[英]if statement and regular expressions java
我正在尝试实现一个if语句,以接受由Java中的字母ak(大写和小写)组成的单词。 我的输入是一个字符串。 我猜可能是这样的:
if(input.equals("[a-kA-K]+")){
System.out.println("the input was: $0");
}
但我不确定该怎么做。
我认为您需要执行模式匹配之类的操作 。 例:
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();
然后
if(b)
{
//Your code.
}
来自@yshavit的评论(重要):
值得注意的是,Pattern p对象是不可变的并且是线程安全的,并且可以共享(例如,通过一次创建Pattern并将其存储在私有static final中)。 如果您不必每次都创建模式,也不需要访问正则表达式中捕获的组,则也可以只调用静态Pattern.matches(pattern,stringToLookIn)
如果input是String
,则可以使用input.matches("[a-kA-K]+")
。
文档: http : //docs.oracle.com/javase/6/docs/api/java/lang/String.html#matches(java.lang.String)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.