提取网页中的时间用正则表达式是不是一个好的选择?如果是,那如何实现像天涯中这个网址的时间提取http://groups.tianya.cn/bulo/ShowArticle.asp?buloid=9999&ArticleID=641012
这个时间好象是某种编码格式的,谁遇到过?怎么处理?万分感谢

解决方案 »

  1.   

    本页最后更新于
    <script LANGUAGE="JavaScript">
    function initArray()
    {
    this.length = initArray.arguments.length
    for (var i = 0; i < this.length; i++)
    this[i+1] = initArray.arguments[i]
    }
    var WeekArray = new initArray("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
    var MonthArray = new initArray("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");
    var LastModDate = new Date(document.lastModified);
    document.write(LastModDate.getYear()+"年");
    document.write(MonthArray[(LastModDate.getMonth()+1)]);
    document.write(LastModDate.getDate()+"日 ");
    document.write(WeekArray[(LastModDate.getDay()+1)]);
    </script>。
      

  2.   

    用java怎么实现呢?天涯那个日期谁知道是怎么回事?
      

  3.   


    经过编码? 什么意思?
    2009-8-1 22:16:03 要这个时间?[\d]-[\d]-[\d] [\d]:[\d]:[\d]
    这个应该可以吧?
      

  4.   

    你把那个网页保存下来,用正则表达式处理里面的html就明白了 
      

  5.   

    1. 下载PilotEdit 2.7, http://topic.csdn.net/u/20090723/07/33b39399-81ad-4fb1-a4a2-78509d2161a3.html
    将http://groups.tianya.cn/bulo/ShowArticle.asp?buloid=9999&ArticleID=641012 页面Ctrl+A, Ctrl+C, Ctrl+V拷贝到一个新建的文件中。
    2. 点排序按钮,选择“比较由正则表达式定义的字符串”,输入下面的正则表达式和目标字符串:
    正则表达式:[0-9][0-9][0-9][0-9]-[0-9]+-[0-9]+*[0-9]+:[0-9]+:[0-9][0-9]
    目标字符串:%01%02%03%04%05%06%07%08%09%10%11%12%13%14%153. 点“将目标字符串拷贝到剪贴板”,即可将你要的数据拷贝到剪贴板: 
    2009-8-1 22:16:03
    2009-8-1 22:16:31
    2009-7-31 22:30:55
    2009-8-1 22:20:22
    2009-8-1 22:34:36
    2009-8-1 23:45:28
    2009-8-1 23:56:04
    2009-8-2 22:55:16
    2009-8-3 00:46:25
    2009-8-3 00:59:24
    2009-8-3 01:30:30
    2009-8-3 01:31:03
    2009-8-3 09:06:15
    2009-8-3 12:54:21
    2009-8-3 13:14:30
    2009-8-3 17:36:19
    2009-8-3 19:20:27
    2009-8-6 13:39:26
    2009-8-6 13:44:26
    2009-8-6 13:51:51
    2009-8-6 14:35:48
    2009-8-6 14:36:03
    2009-8-6 14:39:29
    2009-8-6 14:43:02
    2009-8-6 14:45:58
    2009-8-6 14:47:11
    2009-8-6 14:49:26
    2009-8-6 14:56:27
    2009-8-6 15:11:30
    2009-8-6 15:13:10
    2009-8-6 15:16:40
    2009-8-6 15:24:55
    2009-8-6 15:28:10
    2009-8-6 15:29:36
    2009-8-6 15:48:00
    2009-8-6 15:53:39
    2009-8-6 15:57:35
    2009-8-6 16:08:10
    2009-8-6 16:20:28
    2009-8-6 16:21:33
    2009-8-6 16:30:52
    2009-8-6 16:46:56
    2009-8-6 16:53:03
    2009-8-1 22:34:36
    2009-8-6 16:54:43
    2009-8-6 17:00:54
    2009-8-6 17:05:38
    2009-8-6 17:07:22
    2009-8-6 17:13:49
    2009-8-6 17:22:38
    2009-8-6 17:27:49
    2009-8-6 17:39:27
    2009-8-6 17:45:09
    2009-8-6 18:03:25
    2009-8-6 18:28:57
    2009-8-6 18:34:10
    2009-8-6 18:52:32
    2009-8-6 19:53:15
    2009-8-6 19:53:45
    2009-8-6 20:39:23
    2009-8-6 20:44:43
    2009-8-6 20:46:52
    2009-8-6 20:47:35
    2009-8-6 20:49:57
      

  6.   


    <script type="text/javascript">
    <!--
    var timerID = null;
    var timerRunning = false;
    function stopclock (){
    if(timerRunning){
    clearTimeout(timerID);
    timerRunning = false;
    }
    }
    function startclock(){
    stopclock();
    showtime();
    }
    function showtime(){
    var now= new Date();
    var year=now.getYear();
    var month=now.getMonth()+1;
    var day=now.getDate();
    var hour=now.getHours();
    var minute=now.getMinutes();
    var second=now.getSeconds();
    var timeValue =year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second;
    document.getElementsByName("pay.payTimeRegister")[0].value = timeValue;
    timerID = setTimeout("showtime()",1000);
    timerRunning = true;
    }
    //-->
    </script>
    这个js就是你想要的时间格式  获取系统当前时间
      

  7.   


    <html:text property="pay.payTimeRegister" size="30"readonly="true"></html:text>
    document.getElementsByName("pay.payTimeRegister")[0].value = timeValue;这里获取页面上的文本框
      

  8.   


    DataInputStream is;
    URL url = new URL("http://groups.tianya.cn/bulo/ShowArticle.asp?buloid=9999&ArticleID=641012");
    URLConnection connection = url.openConnection(); is = new DataInputStream(connection.getInputStream());
    String inputline;
    Pattern p = Pattern
    .compile("[\\d]+-[\\d]+-[\\d]+[ ]+[\\d]+:[\\d]+:[\\d]+ ");
    Matcher m;
    String datetime = new String(); while ((inputline = is.readLine()) != null) {
    m = p.matcher(inputline);
    if (m.find()) {
    datetime = m.group();
    } }
    System.out.println("时间:" + datetime);这个取到最后一个时间,能取的时间在循环中可查看。