我需要解析日誌文件並獲取時間和相關函數調用字符串 這存儲在日誌文件中,如下所示:{「time」:「2012-09-24T03:08: 50「,」message「:」Call()started「}花括號之間的正則表達式匹配
在其他字符串字符之間會有多個記錄的時間函數調用,所以我希望使用正則表達式來檢查所有這些文件
我想抓住整個記錄的信息包括大括號
我曾嘗試以下
Pattern logEntry = Pattern.compile("{(.*?)}");
Matcher matchPattern = logEntry.matcher(file);
和
Pattern.compile("{[^{}]*}");
Matcher matchPattern = logEntry.matcher(file);
我不斷收到非法重複錯誤,請幫忙!謝謝。
這個伎倆!謝謝。我試圖逃脫,並總是得到一個編譯器錯誤,我只使用一個反斜槓。雙反斜槓的原因是什麼?這是原始錯誤:無效的轉義序列(有效的轉義序列是\ b \ t \ n \ f \ r \「\'\\) –
,因爲您正在轉義轉義字符,以便將其轉換爲正則表達式編譯器,例如: '\ n'==新行,'\\'== \字符,正則表達式編譯器需要看到,因爲正則表達式不是Java中的第一類公民(它們使用JavaScript等其他語言),它們被編譯爲運行時,而不是編譯時間... – ckozl
好吧,我看到你在編譯時所說的話,java認爲它只有一個字符串,因此「\\」得到「\」,然後在運行時它使用「\」正則表達式感謝您的幫助 –