如何用正则表达式实现以下功能
例如 通过一个正则表达式“2013年7月”和“2013年7月”
提取出“2013/07/01”?
也就是不管数字是全角的还是半角的 都按照半角的数字提取出来,按照“XXXX/XX/XX”格式提取出来。
本人对正则表达式不太理解,希望高手帮忙解决!
回帖即给分
正则表达式
例如 通过一个正则表达式“2013年7月”和“2013年7月”
提取出“2013/07/01”?
也就是不管数字是全角的还是半角的 都按照半角的数字提取出来,按照“XXXX/XX/XX”格式提取出来。
本人对正则表达式不太理解,希望高手帮忙解决!
回帖即给分
正则表达式
解决方案 »
- Tomcat的程序(poi3.7导入excel)到Websphere下报错
- struts2 上传问题问题??? 求助
- 请教:开发项目,使用springside3.3.4 框架, 部署项目过程 2
- Tomcat 工程发布问题.急等!
- spring的问题???
- 这个标签有什么问题么 ,为什么不能执行5次?
- ~~~新手求救,struts中,如何实现动态上传多个附件。
- apache服务器的一点疑问
- socket、rmi、cobar...
- 请问xml文件中的非法字符都有哪些???
- hibernate报错 : Table '我使用的数据库.all_sequences' doesn't exist. 好冷门的问题,估计这辈子都找不到答案
- 同一秒钟有有5000个数据库插入请求
public static final String QJToBJChange(String QJStr) //java下实现
{ //11:36 2010-5-2
//全角转半角的经典函数,绝对正确,之前一直想正则表达式,人都累死了。
char[] chr = QJStr.toCharArray();
String str = "";
for (int i = 0; i < chr.length; i++)
{
if((int) chr[i]<65248)
{
chr[i]=chr[i];
}
else
chr[i] = (char) ((int) chr[i] - 65248);
str += chr[i];
}
return str;
}
然后
String str2 = "2013年7月";
String regex = "(\\d{4})年(\\d{1,2})月";
Matcher m = Pattern.compile(regex).matcher(QJToBJChange(str2));
while(m.find()){
System.out.println(m.group(1)+"/"+m.group(2));
}
str.replaceAll("年|月|日","/")
而不是用正则表达式去分别匹配