我使用System::Text::RegularExpressions::Regex
嘗試在日誌文件中查找啓動消息。我的表達式如下:我的正則表達式有什麼問題?
using namespace System::Text::RegularExpressions;
Regex^ logStartRegex = gcnew Regex("^=+ .* \\((\\d+)/(\\d+)/(\\d+) @ (\\d+):(\\d+):(\\d+)\\) (.*) =+", static_cast<RegexOptions>(RegexOptions::Compiled | RegexOptions::IgnoreCase));
...和我的測試數據:
========= Logging started (07/10/2011 @ 15:38:54) v1.000 AA000 =========
...但是當我做了以下我沒有得到一個匹配:
logStartRegex->Match("========= Logging started (07/10/2011 @ 15:38:54) v1.000 AA000 =========\n");
我已經在regexpal中測試過了,它指示它有效(注意在C++版本中我們必須轉義所有'\'字符):^=+ .* \((\d+)/(\d+)/(\d+) @ (\d+):(\d+):(\d+)\) (.*) =+
。有什麼方法可以看到這個問題到底發生了什麼?
你懂了;事實證明,我的一個測試字符串有些微不同,我沒有發現它。當我削減我的例子在這裏發佈後,我選擇了工作 - 德哦! :-) –