2013-05-08 96 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)意思是 “忽略大小写”

相关问题