我正在配置一個(gè)使用正則表達(dá)式解析日志的日志解析系統(tǒng)(Logstash)。我正在嘗試從規(guī)范的(即完全限定的)Java類(lèi)名中解析出一個(gè)包名和類(lèi)名,但是我不太正確。這是一些示例輸入U(xiǎn)npackagedClasssomepackage.SomeClassjava.lang.Objectjava.util.function.Function預(yù)期輸出(捕獲組):(空字符串), UnpackagedClasssomepackage, SomeClassjava.lang, Objectjava.util.function, Function這是我嘗試的內(nèi)容:((?:(?:X)\.)*)((?:X)),其中X是[a-zA-Z_$][a-zA-Z\d_$]*Java標(biāo)識(shí)符的正則表達(dá)式。完全擴(kuò)展了,它是:((?:(?:[a-zA-Z_$][a-zA-Z\d_$]*)\.)*)((?:[a-zA-Z_$][a-zA-Z\d_$]*))。它已經(jīng)很接近了,但是在包名稱后面有一段尾隨的句點(diǎn),它們被捕獲為包名稱的一部分:(空字符串), UnpackagedClasssomepackage., SomeClassjava.lang., Objectjava.util.function., Function關(guān)于如何改善這一點(diǎn)有什么建議嗎?這是RegExr游樂(lè)場(chǎng)可以為您提供幫助。
添加回答
舉報(bào)
0/150
提交
取消