比如2016-01-13 10:09:24 我只要取到20160113就行了
如果场景只是取前8个数字的话,不用强求用正则表达式一次性做到,
String str="2016-01-13 10:09:24";
String regEx="[^0-9]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
String str=m.replaceAll("").trim().toString().substring(0,8);
正则不晓得 不过转换成字符串 用空去替换 - 然后截取8位 也行
有这部分,等我回去看过后告诉你
Regex.Match(Regex.Replace("2016-01-13 10:09:24","\\D+",""),"\\d{8}").Value;
正则不知道,不过你可以吧字符串拆分成char数组,让后判断键盘码,那样就可以获得数字了。
public static void main(String[] args) {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String date1 = "2016-01-13 10:09:24";
try {
Date dt1 = df.parse(date1);
DateFormat fmt = new SimpleDateFormat("yyyyMMdd");
String date=fmt.format(dt1);
System.out.println(date);
}catch(Exception e){
}
}
String date1 = "2016+01-13 10:09:24";
String regEx = "[^0-9]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(date1);
String str= m.replaceAll("").trim();
str = str.substring(0,8);
System.out.println(str);
用substring
date = date.replace(/[^0-9]/mg, '').match(/.{8}/)