我想知道一个字符串是否只包含相同的字符,除了最后一个索引,它可以是除了前导字符之外的任何其他可能的字符。 例如:" FFFFFFFl"匹配模式,但" FlFFFF"不
如果String只有一个Character,则输出false。
我有这段代码,但实际上它不起作用:
String dance = "FFFFFl";
Pattern p = Pattern.compile(dance.charAt(0) + "{" + (dance.length()-1) + "}\\w^" + dance.charAt(0));
Matcher m = p.matcher(dance);
System.out.println(m.matches());
这输出" false"即使它应该是真的。 我真的很感谢你的帮助!
答案 0 :(得分:2)
Pattern p = Pattern.compile("^(.)\\1*+.$");
匹配度:
AF
AAAAAF
不匹配:
AAAA
AFFFF
答案 1 :(得分:0)
模式:"^(.)\\1*+.$"
答案 2 :(得分:0)
以下不起作用我刚刚发现:
if (dance.matches("(.)\\1*(!\\1)"))
其中\\1
是第一个组(第一个字符)。
你的方法:
dance.charAt(0) + "{" + (dance.length()-1) + "}[^" + dance.charAt(0) + "]"