正则表达式在字符串中查找日期

时间:2012-09-09 04:22:19

标签: c#

在RegExLib网站中找到此日期时间正则表达式 - > http://regexlib.com/REDetails.aspx?regexp_id=361

    string pattern = @"^(((((0[13578])|([13578])|(1[02]))[\-\/\s]?((0[1-9])|([1-9])|([1-2][0-9])|(3[01])))|((([469])|(11))[\-\/\s]?((0[1-9])|([1-9])|([1-2][0-9])|(30)))|((02|2)[\-\/\s]?((0[1-9])|([1-9])|([1-2][0-9]))))[\-\/\s]?\d{4})(\s(((0[1-9])|([1-9])|(1[0-2]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$";
    var match = Regex.Match("test 123 11/30/2003 10:12:24 am", pattern, RegexOptions.IgnoreCase);

如果字符串是精确的(它没有找到测试123中的字符串),上面的工作正常,但是如何在某处找到嵌入字符串的日期(如图所示)?

1 个答案:

答案 0 :(得分:1)

您的正则表达式匹配字符串的开头(^)和结尾($)。如果从表达式中删除相应的元素,它将在字符串中的任何位置显示日期。

以下是all regEx characters的链接。