首页 > 解决方案 > apache lang3:3.9 RandomStringUtils 正则表达式的奇怪行为

问题描述

我得到了奇怪的行为apache.commons.lang3:3.9(但在 3.5 中一切正常)。

RandomStringUtils.random用来生成长度为 350 的字符串。它匹配正则表达式(有 300 个限制)。

我看不到此字符串中生成的任何特殊符号。并且 string.length() 是 350。

public class RegexCheck {
    private String VALUE_REGEXP = "^.{1,300}$";
    private String value= RandomStringUtils.random(350);

    public void run(){
        System.out.println(value);
        System.out.println("string length is " + value.length());
        if(value.matches(VALUE_REGEXP)){
            System.out.println(">>>>>>>>match");
        }else{
            System.out.println(">>>>>>>>don't match");
        }
    }
}

CodePoints 的价值:

对于 lang3:3.9:codePointCount 为 197。对于 lang3:3.5:codePointCount 为 293。此值可能因运行而异。

标签: javaregexapache-commons-lang3

解决方案


推荐阅读