java正则表达式提取日期(Java中如何用正则表达式找出各种表达形式的日期)

本文目录
- Java中如何用正则表达式找出各种表达形式的日期
- 用JAVA正则表达式怎么匹配年月日(比如要求输入为出生日期)
- java.util.regex.* 正则表达式提取时间输出整句句子
- java 有个时间是yyyy年MM月dd日中如何提取出单独的年,月,日
- 如何用正则表达式从字符串中提取年月日
- JAVA 正则表达式提取时间
- 在java语言里,如何从已知的字符串中提取日期
- java 正则表达式 字符串中提取日期 例如:某一节目第20140502期
- 用JAVA正则表达式怎么匹配年月日
Java中如何用正则表达式找出各种表达形式的日期
package tool;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringCruncher
{
public static void main ( String args )
{
String str = "注意我这里说2011-09-13的是找出,不是验证什么格式之类的。比如说str1=\"你好2014-09-13哈哈\"这样一个字符串,里面有日期,但是用str1.matches(regex)的话得出来的结果是错的,请问该怎么做?";
String reg ="\\d+\\-\\d+\\-\\d+";
Pattern pattern = Pattern.compile (reg);
Matcher matcher = pattern.matcher (str);
while (matcher.find ())
{
System.out.println (matcher.group ());
}
}
}
用JAVA正则表达式怎么匹配年月日(比如要求输入为出生日期)
建议使用 ^(\d{2}|\d{4})\d)))$但是这里还是有个问题:将所有年份的2月29日都当作有效日期
java.util.regex.* 正则表达式提取时间输出整句句子
在不考虑英文句子中含有其它特殊字符时,可以把正则表达式写为
*\.
我给你个Java程序的例子:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class O {
public static void main(String args) {
String s="But you were not here. The date is 12/10/2013. I will go there.";
String regex="*\\.";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(s);
while(m.find()){
System.out.println(m.group());
}
}
}
运行结果:
The date is 12/10/2013.
不用先把句子分开,再用正则表达式去提取.
java 有个时间是yyyy年MM月dd日中如何提取出单独的年,月,日
直接通过格式转换的形式即可。举例:
Stringstr0 = "2015年07月05日";
Date d1 = new SimpleDateFormat("yyyy年MM月dd日").parse(str0);//定义起始日期
SimpleDateFormat sdf0 = new SimpleDateFormat("yyyy");
SimpleDateFormat sdf1 = new SimpleDateFormat("MM");
SimpleDateFormat sdf2= new SimpleDateFormat("dd");
String str1 = sdf0.format(d1);
String str2 = sdf1.format(d1);
String str3 = sdf2.format(d1);
System.out.println("年份为:"+str1);
System.out.println("月份为:"+str2);
System.out.println("日为:"+str3);
结果:
如何用正则表达式从字符串中提取年月日
可以使用正则表达式中的分组来实现,代码参考如下:
Pattern p=Pattern.compile("(\\d{4})-(\\d{1,2})-(\\d{1,2})");
Matcher m=p.matcher("x20xxx1984-10-20xxx19852x");
if(m.find())
{
System.out.println("日期:"+m.group());
System.out.println("年:"+m.group(1));
System.out.println("月:"+m.group(2));
System.out.println("日:"+m.group(3));
}
JAVA 正则表达式提取时间
提取以后还要处理一下
看一下下边的例子。结果
2012-2-14
2015-13-35 (这样非法的就需要你自己来处理了。)
--------------------------------------------------------------------------------
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Other {
public static void main(String args) {
String str = "本页面最后修订于2012年2月14日 (星期二) 2015-13/35日 11:29。2012-135/14《br /》《/li》";
Pattern p = Pattern
.compile("{1,2}");
Matcher m = p.matcher(str);
while (m.find()) {
if (!"".equals(m.group())) {
String date = m.group();
date = date.replaceAll("年", "-");
date = date.replaceAll("月", "-");
date = date.replaceAll("/", "-");
System.out.println(date);
}
}
}
}
在java语言里,如何从已知的字符串中提取日期
import java.text.SimpleDateFormat;
import java.util.*;
public class getDate {
public static void main(String args){
// SimpleDateFormat formater=new SimpleDateFormat("MM月dd日yyyy年");调整格式
SimpleDateFormat formater=new SimpleDateFormat("yyyy年MM月dd日");
String StCurrentTime=formater.format(new Date());
System.out.print( StCurrentTime);
}
}
java 正则表达式 字符串中提取日期 例如:某一节目第20140502期
package p1;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RunnableTicket
{
public static void main ( String args )
{
String reg = ")))";
String str = "某一节目第20140502期";
Pattern pattern = Pattern.compile (reg);
Matcher matcher = pattern.matcher (str);
while (matcher.find ())
{
System.out.println (matcher.group ());
}
}
}
用JAVA正则表达式怎么匹配年月日
// //2009-01-01 12:30:30 //年-月-日
String reg = "^\\d{4}-0\\d$";
//01/01/2009 12:30:30 月/日/年
String reg2 = "^\\d$";

更多文章:
跷二郎腿太低好吗?想要通过贴墙站改正二郎腿影响的话,有哪些要点需要注意
2026年10月11日 05:10
易语言点击js按钮(易语言网页填表怎样点击链接为“javascript:void(0)“的按钮)
2026年10月11日 03:00
compare with造句(用compared with和compared to造句)
2026年10月10日 23:30
tensorflow与keras对应版本(为什么tensorflow2.8没有keras)
2026年10月10日 22:10
maven仓库jar网站(如何在maven仓库中添加jar包)
2026年10月10日 19:50







