从网上获取了一些string的文本如下,现在想将日期时间部分抽取出来(即:mm月dd日 mm:ss,不要括号),用以插入数据库新闻表中一个叫“时间”的字段里;
我知道用split也可以做到这一点,但应该没有用正则的匹配那么完美,因为如果文本当中遇到还有括号的话,那就麻烦了,所以恳请高手相助,谢谢啊金隅原董事候选人逝世 推荐于世良为新任候选人(09月10日 13:05)
中燃暂未获北控洽业务合作 未来关系或更紧密(09月10日 12:25)
民生紧急72小时:外资围剿公司火线会议维稳(09月10日 11:06)
消费者称蒙牛牛奶现活虫索赔10万 蒙牛否认(09月10日 10:05)
...

解决方案 »

  1.   

    string tempStr = @"金隅原董事候选人逝世 推荐于世良为新任候选人(09月10日 13:05)
    中燃暂未获北控洽业务合作 未来关系或更紧密(09月10日 12:25)
    民生紧急72小时:外资围剿公司火线会议维稳(09月10日 11:06)
    消费者称蒙牛牛奶现活虫索赔10万 蒙牛否认(09月10日 10:05)
    ";
                    List<string> result = Regex.Matches(tempStr,@"(?<=\()[^()]+?(?=\))").Cast<Match>().Select(a=>a.Value).ToList();
                    /*
                     *  [0] "09月10日 13:05" string
    [1] "09月10日 12:25" string
    [2] "09月10日 11:06" string
    [3] "09月10日 10:05" string                 */
      

  2.   

    \((\d{1,2}月\d{1,2}日\s\d{1,2}\:\d{1,2})\)
      

  3.   

    \((\d{1,2}月\d{1,2}日\s\d{1,2}\:\d{1,2})\)
      

  4.   

      \((\d{2}月\d{2}日 \d{2}:\d{2})
      

  5.   

      这样写严密一些:\((\d{1,2}月\d{1,2}日 \d{1,2}:\d{1,2})