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

kxkpmulp  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(74)

我得到了你们的帮助,使用这个正则表达式模式从文本文件中提取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

e4yzc0pl

e4yzc0pl1#

对于未来,http://regexr.com/是测试Regex的好地方,它的左侧有一个备忘单,并将解释您突出显示的内容。
对于这种模式

() = 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}

相关问题