我想从文本文件中提取一个日期。这是内容:正则表达式返回完整的行而不是匹配
存储管理器 命令行管理界面 - 第7版,第1版,1.4级的公司和其他(一个或多个)1990年,2015年版权所有 (C)版权所有。与服务器建立TSERVER
会议:WINDOWS 服务器版本7,版本1,等级5.200 服务器日期/时间:2016年11月22日15:30:00最近访问:2016年11月22日15:25:00
ANS8000I服务器命令。
我需要提取服务器日期/时间后的日期/时间。我写了这个正则表达式:
/([0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4} [0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})/
这在regex101中完美地工作。请参阅https://regex101.com/r/MB7yB4/1 上的示例但是,在PowerShell中,它会有所不同。
$var -match "([0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4} [0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})"
给
服务器日期/时间:2016年11月22日16:30:00最近访问:2016年11月22日15时37分19秒
和
$var -match "([0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4} [0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})"
什么也没有。
我不知道为什么这场比赛是不一样的。
感谢您的帮助!
'如果($变种-match“[0-9] {1,2}/[0-9] {1,2}/[0-9] {4} [0-9] {1,2}:[0-9] {1,2}:[0-9] {1,2}'){$ Matches [0]}' –
Your 2nd'匹配样本命令与第一个命令相同。请编辑它以显示真正没有产生任何东西的变化(或者干脆删除第二个命令)。 – mklement0