2016-01-07 73 views
-5

查找正则表达式从末尾开始的字符串中的第n个字符是否为集合{a,e,i,o,u}中的字符。正则表达式,以便从字符串末尾查找第n个字母

如:

n=10; 
String=algorithm 

这是true。由于a是从结尾处开始的第十个字母。

n=5; 
abcdefg; 

它是false。由于c是结束的第五个字母。

如何识别上述模式的正则表达式?

+2

你试过了什么? –

+4

算法没有10个字母。没有什么是从最后的第十个字符。 – azurefrog

+0

为什么它必须是一个正则表达式? – Marvin

回答

1

使用端锚:

[aeiou].{<n-1>}$ 

<n-1>需要与适当的值来代替,当然。在Java中,那将是:

import java.util.regex.Pattern; 
//... 
String patternString = "[aeiou].{" + String.valueOf(n-1) + "}$"; 
Pattern pattern = Pattern.compile(patternString); 
//... 
+0

不需要'String.valueOf',只需要括号:''[aeiou]。{“+(n-1)+”} $“' – Andreas

相关问题