2013-05-08 44 views

回答

9

str.matches(".*[aeiou]$");

.*匹配任何字符零次或多次
[aeiou]匹配所述一組
$的字符中的一個的字符串的末尾匹配。

所以"abcde".matches(".*[aeiou]$") == true"eaoid".matches(".*[aeiou]$") == false

4

在Java中matches()方法必須必須整個串爲了回報true,所以你需要與.*啓動正則表達式,並用字符類(方完成它括號包圍字符列表),這是正則表達式「這些字符之一」的方式

如果要匹配以大寫或小寫元音結尾的字符串:

str.matches(".*[AEIOUaeiou]"); 

,甚至更簡單:

str.matches(".*(?i)[aeiou]"); 

正則表達式(?i)意思是 「忽略大小寫」

相關問題