-5
查找正则表达式从末尾开始的字符串中的第n个字符是否为集合{a,e,i,o,u}
中的字符。正则表达式,以便从字符串末尾查找第n个字母
如:
n=10;
String=algorithm
这是true
。由于a
是从结尾处开始的第十个字母。
n=5;
abcdefg;
它是false
。由于c
是结束的第五个字母。
如何识别上述模式的正则表达式?
查找正则表达式从末尾开始的字符串中的第n个字符是否为集合{a,e,i,o,u}
中的字符。正则表达式,以便从字符串末尾查找第n个字母
如:
n=10;
String=algorithm
这是true
。由于a
是从结尾处开始的第十个字母。
n=5;
abcdefg;
它是false
。由于c
是结束的第五个字母。
如何识别上述模式的正则表达式?
使用端锚:
[aeiou].{<n-1>}$
<n-1>
需要与适当的值来代替,当然。在Java中,那将是:
import java.util.regex.Pattern;
//...
String patternString = "[aeiou].{" + String.valueOf(n-1) + "}$";
Pattern pattern = Pattern.compile(patternString);
//...
不需要'String.valueOf',只需要括号:''[aeiou]。{“+(n-1)+”} $“' – Andreas
你试过了什么? –
算法没有10个字母。没有什么是从最后的第十个字符。 – azurefrog
为什么它必须是一个正则表达式? – Marvin