正则表达式不起作用,应如何制定?

时间:2014-04-24 21:52:20

标签: java regex string matcher

我想知道一个字符串是否只包含相同的字符,除了最后一个索引,它可以是除了前导字符之外的任何其他可能的字符。 例如:" 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"即使它应该是真的。 我真的很感谢你的帮助!

3 个答案:

答案 0 :(得分:2)

Pattern p = Pattern.compile("^(.)\\1*+.$");

匹配度:

AF
AAAAAF

不匹配:

AAAA
AFFFF

答案 1 :(得分:0)

模式:"^(.)\\1*+.$"

请参阅java reference

答案 2 :(得分:0)

以下不起作用我刚刚发现:

if (dance.matches("(.)\\1*(!\\1)"))

其中\\1是第一个组(第一个字符)。

你的方法:

dance.charAt(0) + "{" + (dance.length()-1) + "}[^" + dance.charAt(0) + "]"