是否有应用程序突出显示匹配字符

时间:2017-09-12 11:44:05

标签: regex findstr

我正在处理包含日期/时间戳的文件列表。

有两种可能的格式:

YYYY/MM/DD hh:mm:ss
YYYY-MM-DD hh:mm:ss

我想知道今天从十二点半开始的参赛作品。

为了做到这一点,我写了以下正则表达式:

"2017[-/]09[-/]12 12:3[0-9]:[0-9][0-9]"

含义如下:

  • 在年,月,日之间我们可能有两个可能的角色, 因此[-/]
  • 时间戳应该看起来像“12:3x:xx”(某处 12:30之后,但不超过10分钟),所以我使用了[0-9]
  • 分号将被视为普通字符,但由于它们未嵌入括号[]中,因此我决定只编写它们而不使用转义字符(是否存在转义字符)对于findstr,顺便说一下?)。

令我惊讶的是,以下条目似乎合适:

2017/09/12 13:14:36.777|__logfile_|13240|17508|CClass::Function|CRU|-1|** Releasing critical section m_Busy
2017/09/12 13:14:36.777|__logfile_|13240|17508|CClass::Function|CRU|-1|** Done with Function

我不知道哪些字符服从我写过的正则表达式,显然我不想在findstr的每个问题上都写一个StackOverflow帖子,因此我想知道:有没有某个工具可以验证findstr正则表达式并突出显示结果(以便我可以逐步学习如何纠正我的表达式)?

1 个答案:

答案 0 :(得分:0)

你的正则表达式对我有用。你没有说出你如何打电话findstr

您需要/R(正则表达式)和/C(文字字符串)标记:

findstr /R /C:"2017[-/]09[-/]12 12:3[0-9]:[0-9][0-9]" logfile.txt