我試圖用java正則表達式來提取數據。它與我的數據相匹配,但我無法獲取組數據。我試圖獲取數據1,xmlAggregator,268803451,3。看看文檔,我假設如果我把()放在\ d +和\ w +中,我會得到組中的數字和字符串。有關如何更改正則表達式的任何建議?獲取正則表達式數據
字符串:
Span(trace_id:1, name:XmlAggregator, id:268803451, parent_id:3)
Java代碼:
String pattern="Span\\(trace_id:(\\d+), name:(\\w+), id:(\\d+), parent_id:(\\d+), (duration:(\\d+))*"; Pattern r = Pattern.compile(pattern); Matcher m = r.matcher(line); int count = 0; while(m.find()) { System.out.println("Match number "+count); System.out.println("start(): "+m.start()); System.out.println("end(): "+m.end()); System.out.println("Found value: " + m.group(count)); count++; }
輸出:
Match number 0 start(): 0 end(): 64 Found value: Span(trace_id:1, name:XmlAggregator, id:268803451, parent_id:3,
希望能得到:
Found value: 1 Found value: XmlAggregator Found value: 268803451 Found value: 3
什麼是預期輸出? –
找到的值:1 \ n 找到的值:XmlAggregator \ n 找到的值:268803451 \ n 找到的值:3 \ n – Arun
請編輯您的問題並添加它。 –