Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 分解模式(以便我了解其工作原理)并添加日期/时间_Regex_Powershell - Fatal编程技术网

Regex 分解模式(以便我了解其工作原理)并添加日期/时间

Regex 分解模式(以便我了解其工作原理)并添加日期/时间,regex,powershell,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})' 一些友好的灵魂能帮我打破这个模式,帮助我理解它是如何运作的吗 然后,我还需要提取日期和时间,该日期和

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

用于将来,是测试正则表达式的好地方,它的左侧将有一个备忘单,并将解释您强调的内容

对于此模式

() = 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.
因此,regex中的YYY-MM-DD HH:MM:SS是(但是,永远不要使用regex来验证日期,因为存在太多的异常,使其变得有价值;比如2月28日。日期验证需要某种日历API)


在线上有很多用于解析和剖析正则表达式模式的工具。试穿尺码年份怎么可以有3位数?只漏了一个“Y”;)<代码>75:98:12是我一天中最喜欢的时间:-)@MathiasR.Jessen,从技术上讲,这是一种溢出的方式。我只会使用正则表达式获取日期/时间。你应该总是使用日历API来验证它(因为闰日、跳过的闰日、DLS、闰秒。除了这么多例外,Regex是一个可怕的验证工具。)对不起,伙计,我只是无法控制自己^ ^我投票给你了,验证点对于刚接触regex并认为它可以做任何事情的人来说都很重要。我可以单独匹配每个部分,但不能同时匹配所有部分<[0-9A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-f[[[2},,,[0-0-9 A-A-A-A-A-A-A-f[0-9A-A-A-A-A-A-A-A-A-A-A-f[[[0-9-A-A-A-A-f-f[[[[0-A-A-A-A-A-A-A-A-A-A-A-A-f[[[[[[[[0-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-f[f[[[[[[[[[[[[[[[A-A-A-A-A-A-f[f 9]{2}-[0-9]{2}-[0-9]{4})
[0-9]{3}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}