插入与正则表达式匹配的字符串

时间:2011-04-17 22:08:39

标签: java

我的程序从用户那里获取字符串输入。如果输入字符串与正则表达式匹配,那么它应该插入到arrayList中。

我写了以下内容。但是,它不起作用:

        if( element.matches("[a-zA-Z]"));
        {
        set.add(element);
        }

2 个答案:

答案 0 :(得分:4)

如果这实际上是您的代码编写方式,那么element将始终添加到set。您需要删除第一行末尾的;才能使条件生效:

if (element.matches("[a-zA-Z]")) {
    set.add(element);
}

如果您尝试匹配多个字符,则可能需要"[a-zA-Z]+"表达式。

答案 1 :(得分:0)

我猜你忘记了+标志,意思是“一次或多次”:

if (element.matches("[a-zA-Z]+")) {..}

(当然,如上例所示,你必须摆脱分号)