我想從文本文件中提取一個日期。這是內容:正則表達式返回完整的行而不是匹配
存儲管理器 命令行管理界面 - 第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