读书人

正则表达式截取局部文本解决方案

发布时间: 2012-01-19 20:57:59 作者: rapoo

正则表达式截取局部文本
我想用正则表达式取文本的内容,以日期为分割符,截取后半部文字,具体格式如下:(前半部文本,不用保存)yyyy年mm月dd日 hh:mm:ss(后半部内容,也就是最终所要保留下的内容) .考虑到mm和dd(即月号和日期号)有时可能为一位数,而HH:MM:SS有时可能无此显示,请教大家,用于截获下述文本的C#正则表达式应该如何来写?

谢谢好心人 :)

参考格式:
"
....至少77人死伤 2007年04月23日 18:43:10


新华网巴格达4月23日电(记者闫岩 张伟)伊拉克警方说,伊拉.... "

[解决办法]
try

string yourStr = ..................;
string resultStr = " ";
Match m = Regex.Match(yourStr, @ "\d{4}年\d{1,2}月\d{1,2}日\s+(\d{2}:\d{2}:\d{2})?\s*?(? <content> \S[\s\S]*?)$ ", RegexOptions.IgnoreCase);
if(m.Success)
{
resultStr = m.Groups[ "content "].Value;
}

仅参考一个实例写出的正则未必能通用,如果有不匹配的,给出实例,另外这是匹配单一字符串的,如果是同时匹配多条记录,再说明一下

[解决办法]
时间部分没有严谨匹配,不过按你的描述,这样写应该足够了

读书人网 >C#

热点推荐