目标字符串:
8AM - 10AM (local time)
12PM - 1PM (local time)
我可以使用以下表达式从https://regexr.com/提取时间:
\d{1,2}(AM|PM)
但是,在PowerShell中我无法这样做:
cls
$var = "8AM - 10AM (local time)
12PM - 1PM (local time)"
if ($var -match "\d{1,2}(AM|PM)")
{
$matches
}
PS输出:
Name Value
---- -----
1 AM
0 8AM
然而,当我在PS中使用下面的脚本时:
cls
$var = "8AM - 10AM (local time)"
[regex]::Matches($var,"\d{1,2}(AM|PM)").Value
它输出了正确的结果:
8AM
10AM
有什么想法是为什么会发生这种情况?