如何使用正则表达式查找包含特定模式字符串的行?

时间:2010-08-20 11:30:28

标签: c# .net regex

我有一个包含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#中的代码。

1 个答案:

答案 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未匹配等,但在正则表达式中执行数字范围检查可能不值得。

另见

相关问题

相关问题