细分模式(以便我了解它是如何工作的)并添加日期/时间

时间:2017-04-20 14:45:39

标签: regex powershell

我得到了你们的帮助,使用这个正则表达式模式从文本文件中提取MAC地址和UUID:

$Pattern = '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2}),\s+(\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\}{0,1})'

一些友好的灵魂可以打破我的模式,帮助我理解它是如何运作的吗?

然后我需要提取日期和时间,格式为YYYY-MM-DD HH:MM:SS

1 个答案:

答案 0 :(得分:2)

对于未来,http://regexr.com/是测试正则表达式的好地方,它左边会有一个备忘单,并会解释你突出显示的内容。

对于这种模式

() = patttern group (orginization/grouping refrence)
[] = match anything in this character group
0-9/A-z = Match this digit/character range
{#} = match previous group # times
\s = match white space
\ = escape next character, use it as a literal or if the next character is a letter, match anything in that predefined character set.

所以YYY-MM-DD HH:MM:正则表达式中的SS是(从来没有使用正则表达式验证日期,因为有太多的例外使它值得一试;如2月28日。日期验证需要日历API某种)

[0-9]{3}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}