我想传递像20140101
这样的日期,因为它的数据类型是元文件中的整数,所以我尝试了许多正则表达式,但它总是返回false
。另一列类型为long
,数据类型为0000000000000
。那么integer
和long
分开的正则表达式是什么。由于
我想这样的正则表达式应该适用于整数:
(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