java中正则表达式提取字符串中日期实现代码

你可能需要从一段字符串String或者文本中抽取出或者说是过滤出日期或者时间,可以使用如下程序:

 代码如下 复制代码

public String run(String text) {
        String dateStr = text.replaceAll("r?n", " ");
        dateStr = dateStr.replaceAll("\s+", " ");       
       
        try {
           
            List matches = null;
            Pattern p = Pattern.compile("(\d{1,4}[-|\\/]\d{1,2}[-|\\/]\d{1,2} \d{1,2}:\d{1,2}:\d{1,2})", Pattern.CASE_INSENSITIVE|Pattern.MULTILINE);
            Matcher matcher = p.matcher(dateStr);
            if (matcher.find() && matcher.groupCount() >= 1) {
                matches = new ArrayList();
                for (int i = 1; i <= matcher.groupCount(); i++) {
                    String temp = matcher.group(i);
                    matches.add(temp);
                }
            } else {
                matches = Collections.EMPTY_LIST;
            }           
           
            if (matches.size() > 0) {
                return ((String) matches.get(0)).trim();
            } else {
                return "";
            }
           
        } catch (Exception e) {
            return "";
        }
    }

这段程序目前的功能是从字符串中抽取出形式为"yyyy-MM-dd HH:mm:ss"或者是"yyyy/MM/dd HH:mm:ss"的日期时间。如果时间格式为缩写,还不能够处理,不过很容易可以进行扩展。

 

时间: 2024-09-28 22:34:24

java中正则表达式提取字符串中日期实现代码的相关文章

Java利用正则表达式提取字符串中有用的信息

最近开发过程中碰到一个问题,就是将网页通过流读进内存然后记录表单中各个属性的id值. 例如:将<input type='text' id='baijinshan' name='baijinshan' >的id记录下来 java代码 package cn.bai.test; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexTest { /** * @param args */ pu

php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符

 PHP使用正则表达式提取字符串中尖括号<>.小括号().中括号[].大括号{}中的字符示例,需要的朋友可以参考下    代码如下: $str="你好<我>(爱)[北京]{天安门}";    echo f1($str); //返回你好  echo f2($str); //返回我  echo f3($str); //返回爱  echo f4($str); //返回北京  echo f5($str); //返回天安门    function f1($str)  { 

字符串截取-C#,或者在ORACLE中如何提取字符串中的信息

问题描述 C#,或者在ORACLE中如何提取字符串中的信息 C#,或者在ORACLE中如何提取字符串中的信息,比如: string a=[123][22][3132][]...以此类推,我想要提取所有[]的后2个数字,比如[123],提取出0和23两个数字,然后所有数字相加.求高手用正则表达式,或者更好理解的方式帮忙解决下,,,,

Mysql中实现提取字符串中的数字的自定义函数分享_Mysql

因需要在mysql的数据表中某一字符串中的字段提取出数字,在网上找了一通,终于找到了一个可用的mysql函数,可以有效的从字符串中提取出数字. 该mysql提取出字符串中的数字函数如下: 复制代码 代码如下: CREATE FUNCTION GetNum (Varstring varchar(50)) RETURNS varchar(30) BEGIN DECLARE v_length INT DEFAULT 0; DECLARE v_Tmp varchar(50) default ''; se

php正则表达式提取字符串中的数字例子

今天开发采集器,用到从字符串里取数字,后来想到了以下用正则表达式来取. 用正则  代码如下 复制代码 $str = ereg_replace('[^0-9]',",$str);和 $str = preg_replace( '/[^\d]/ ', ' ',$str); 例子  代码如下 复制代码 function findNum($str=''){ $str=trim($str); if(empty($str)){return '';} $reg='/(\d{3}(\.\d+)?)/is';//匹

JS正则表达式提取字符串中所有汉字的脚本

在网上发现有人用vbscript正则表达式实现了这个功能,但代码很厂,偶改成js的了,很短的一段代码: <script type="text/javascript"> var str="怎样从一个Html页面中提取所有汉字呢?不能有其它Html代码."; alert(str.replace(/[^\u4e00-\u9fa5]/gi,"")); </script> [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

JS正则表达式提取字符串中所有汉字的脚本_正则表达式

在网上发现有人用vbscript正则表达式实现了这个功能,但代码很厂,偶改成js的了,很短的一段代码: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 这里的关键是汉字escape后的编码范围是\u4e00-\u9fa5,知道这个问题就好解决了.

ASP.NET利用正则表达式提取字符串中的数字

一言不足以毕之,请LOOK代码:               string text = " 订单5|本次付款:4783|本单结清,";             string pat = @"(\d+)";             Regex r = new Regex(pat, RegexOptions.IgnoreCase);             Match m = r.Match(text);             int matchCount = 0;

C#中如何提取字符串中的数字

问题描述 哪位大哥教教我,像如下字符串"47.64483,-122.141197"如何将两个数字提取出来? 解决方案 解决方案二:"47.64483,-122.141197".Split("|")解决方案三:引用1楼chinajiyong的回复: "47.64483,-122.141197".Split("|") "47.64483,-122.141197".Split(",&