2

我是java中的新手。我想确定字符串的最后一个字符是否是元音(即aieou)。例如,如果字符串是abcde,那么就可以了。但如果是eaoid,那就错了。

4

2 回答 2

10

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

.*匹配任何字符零次或多次
[aeiou]匹配集合中的一个字符
$匹配字符串的结尾。

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

于 2013-05-08T04:26:41.590 回答
5

java中的matches()方法必须是整个字符串才能返回true,因此您需要以字符类开始正则表达式.*并以字符类(字符列表周围的方括号)结束它,这是表示“其中一个”的正则表达式方式人物”

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

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

或者更简单地说:

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

正则表达式的(?i)意思是“忽略大小写”

于 2013-05-08T04:34:43.017 回答