Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java正则表达式,以匹配长度大于至少有一个不同字符的字母数字字符串_Java_Regex - Fatal编程技术网

Java正则表达式,以匹配长度大于至少有一个不同字符的字母数字字符串

Java正则表达式,以匹配长度大于至少有一个不同字符的字母数字字符串,java,regex,Java,Regex,在下面的正则表达式中 ^(?:(?!(\w)\1\b).)*$ 不匹配最后两个字符相同的字符串。例如1233 问题是什么 如果要(不)匹配同一个字符: 欢迎来到堆栈溢出!我们是一个问答网站,而不是一个编码出租服务。请将您的问题缩小到一个特定的编码问题,这将是本网站的主题。请看:通常我会回答这样的问题,建议您显示代码并解释您遇到问题的地方。但是,正则表达式不支持您对“至少一个不同字符”的要求。谢谢您的帮助。我已经把问题细化了。请将此问题作为activeFound解决方案/^(?:(?!(\\w

在下面的正则表达式中

^(?:(?!(\w)\1\b).)*$ 
不匹配最后两个字符相同的字符串。例如1233

问题是什么

如果要(不)匹配同一个字符:


欢迎来到堆栈溢出!我们是一个问答网站,而不是一个编码出租服务。请将您的问题缩小到一个特定的编码问题,这将是本网站的主题。请看:通常我会回答这样的问题,建议您显示代码并解释您遇到问题的地方。但是,正则表达式不支持您对“至少一个不同字符”的要求。谢谢您的帮助。我已经把问题细化了。请将此问题作为activeFound解决方案/^(?:(?!(\\w)\\1\\b)。*$/好吧,恭喜你有了如此干净的正则表达式;-)
public static void main (String[] args)
{
    final String SAME_CHAR = "(.)\\1*";
    final List<String> list1 = Arrays.asList("Apple","Aa", "A1a", "AAg");
    final List<String> list2 = Arrays.asList("AAA", "111", "aaaaa", "a");

    for (String str: list1) {
        System.out.println(str + ": " + !str.matches(SAME_CHAR));
    }
    for (String str: list2) {
        System.out.println(str + ": " + !str.matches(SAME_CHAR));
    }
}
Apple: true
Aa: true
A1a: true
AAg: true
AAA: false
111: false
aaaaa: false
a: false