我的程序需要從用戶輸入字符串。如果輸入字符串與正則表達式匹配,則應將其插入到arrayList中。插入與正則表達式匹配的字符串
我寫到下面。但是,這是行不通的:
if(element.matches("[a-zA-Z]"));
{
set.add(element);
}
我的程序需要從用戶輸入字符串。如果輸入字符串與正則表達式匹配,則應將其插入到arrayList中。插入與正則表達式匹配的字符串
我寫到下面。但是,這是行不通的:
if(element.matches("[a-zA-Z]"));
{
set.add(element);
}
我想你忘記了+
標誌,意思是「一次或多次」:
if (element.matches("[a-zA-Z]+")) {..}
(當然,如上例所示,你必須擺脫分號)
恩,downvote ..? – Bozho 2011-04-18 06:03:57
如果這實際上是如何寫你的代碼,那麼element
將永遠被添加到set
。您需要在第一行的末尾刪除;
爲條件的工作:
if (element.matches("[a-zA-Z]")) {
set.add(element);
}
如果你想匹配超過字符越多,你可能要爲"[a-zA-Z]+"
表達。
要匹配一個或多個字符,正則表達式應該是'「[a-zA-Z] +」' – Yeameen 2011-04-18 04:22:04
@Yeameen:謝謝,修正。 – WhiteFang34 2011-04-18 04:28:42
您能否提供更多的代碼,即元素和集合的定義,然後提供不能正常工作的實際輸入? – edwardsmatt 2011-04-17 22:12:32
我記得JCP認證有一個相同的分號錯誤的問題。他們當然故意測試對語言基礎知識的理解。 – 2011-04-17 22:20:29