正则表达式的任意长度-正负整数和长在java中



我想传递像20140101这样的日期,因为它的数据类型是元文件中的整数,所以我尝试了许多正则表达式,但它总是返回false。另一列类型为long,数据类型为0000000000000。那么integerlong分开的正则表达式是什么。由于

我想这样的正则表达式应该适用于整数:

(d{4})(d{2})(d{2})

例子

假设您的日期占用了长格式的最后一位数字,您应该使用以下正则表达式:

d{5}(d{4})(d{2})(d{2})

例子

在Java中,你应该能够使用

来获取你要查找的日期对象。
    String toParse = "20140102";
    Pattern pattern = Pattern.compile("(\d{4})(\d{2})(\d{2})");
    Matcher matcher = pattern.matcher(toParse);
    if (matcher.find()) {
        int year = Integer.parseInt(matcher.group(1));
        int month = Integer.parseInt(matcher.group(2));
        int day = Integer.parseInt(matcher.group(3));
        System.out.println(new Date(year - 1900, month - 1, day));
    }

如果你有一个像20140101这样的字符串,你必须用regex测试它,你可以使用这个regex:

/[0 - 9] {8}/

的例子:

进口java.util.regex.Pattern;进口java.util.regex.Matcher;

公共类MatcherExample {

public static void main(String[] args) {
    String text    =
        "This is the text to be searched " +
        "for occurrences of the http:// pattern.";
    String patternString = "/[0-9]{8}/";
    Pattern pattern = Pattern.compile(patternString);
    Matcher matcher = pattern.matcher(text);
    boolean matches = matcher.matches();
}

}

您可以使用https://regex101.com/来测试regex

最新更新