我的程序从用户那里获取字符串输入。如果输入字符串与正则表达式匹配,那么它应该插入到arrayList中。
我写了以下内容。但是,它不起作用:
if( element.matches("[a-zA-Z]"));
{
set.add(element);
}
答案 0 :(得分:4)
如果这实际上是您的代码编写方式,那么element
将始终添加到set
。您需要删除第一行末尾的;
才能使条件生效:
if (element.matches("[a-zA-Z]")) {
set.add(element);
}
如果您尝试匹配多个字符,则可能需要"[a-zA-Z]+"
表达式。
答案 1 :(得分:0)
我猜你忘记了+
标志,意思是“一次或多次”:
if (element.matches("[a-zA-Z]+")) {..}
(当然,如上例所示,你必须摆脱分号)