我有一个包含1000行数据的脚本文件,其中一些行包含一些日期字符串,形式为dd / mm / yyyy hh:mm:ss格式。我的目标是找出包含以下模式日期的行
"Value=10/08/2010 13:39:37", ENDITEM,
脚本中包含日期的一些示例行
"Name=s_1_1_81_0", "Value=10/08/2010 13:39:37", ENDITEM,
// {Siebel_Parse_Web_Page72_S_BC2_S40_R02_F30} = "07/27/2010" (Some Date)
Number0*12*Install Date19*08/24/2010 00:00:0015*Unit of Measure9*Per Month19*To Service
我想找出与第一个例子类似的线而不是其他线,即包含以“值= 开头并以”结尾的日期字符串的行,
我想要C#中的代码。
答案 0 :(得分:5)
看起来你想要包含以下模式匹配的行:
"Value=\d{2}/\d{2}/\d{4} \d{2}:\d{2}:\d{2}", ENDITEM,
作为@-quoted C# string literal,它是:
@"""Value=\d{2}/\d{2}/\d{4} \d{2}:\d{2}:\d{2}"", ENDITEM,"
\d
是数字character class的字符类简写。 {n}
是finite repetition说明符。因此,\d{4}
恰好匹配4位数。
您可以使模式更少或更具体,例如年9999
未匹配等,但在正则表达式中执行数字范围检查可能不值得。