正则表达式如何实现以下功能
我写了如下的代码
String strDateText = "sdfgnhfdnjh2013年7月01日sdgldfjhggkfp";
String regex = "[(\\d{4}年\\d{1,2}月)|(\\d{4}年\\d{1,2}月\\d{1,2}日)]";
Matcher m = Pattern.compile(regex).matcher(strDateText );
while(m.find()){
String t = m.group();
System.out.println("t:" + t);
fdatDate = t.replaceAll("年|月|日", "/");
}
t:2
t:0
t:1
t:3
t:年
t:7
t:月
t:0
t:1
t:日
String strDateText = "sdfgnhfdnjh2013年7月01日sdgldfjhggkfp";
String regex = "[(\\d{4}年\\d{1,2}月)
[解决办法]
(\\d{4}年\\d{1,2}月\\d{1,2}日)]";
Matcher m = Pattern.compile(regex).matcher(strDateText );
StringBuffer str = new StringBuffer();
String fdatDate ;
while(m.find()){
String t = m.group();
System.out.println("t:" + t);
str.append(t);
fdatDate = t.replaceAll("年
[解决办法]
月
[解决办法]
日", "/");
}
System.out.println(str);
System.out.println(str.toString().replaceAll("年
[解决办法]
月
[解决办法]
日", "/").substring(0,str.length()-1));
String strDateText = "sdfgnhfdnjh2013年7月01日sdgldfjhggkfp";
String strDateText2 = "sdfgnhfdnjh2013年7月sdgldfjhggkfp";
String regex = "((\\d{4}年\\d{1,2}月\\d{1,2}日)
[解决办法]
(\\d{4}年\\d{1,2}月))";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(strDateText );
if(m.find())
{
System.out.println(m.group(1));
}
m = p.matcher(strDateText2);
if(m.find())
{
System.out.println(m.group(1));
}