このようなパース文字列が欲しい
0.1142 0.0000 0.0000 0.0004 0.0000 0.0000 2299/2299 MakeRequest [23]
この文字列から ol double を取得したい。次のパターンを使用しています
.+ ([0-9\\.]+) [\\p{Space}]+ ([0-9\\.]+) [\\p{Space}]+ ([0-9\\.]+) [\\p{Space}]+ ([0-9\\.]+) [\\p{Space}]+ ([0-9\\.]+) [\\p{Space}]+ ([0-9\\.]+) [\\p{Space}]+ ([0-9\\/])+ [\\p{Space}] "\\.(MakeRequest) .+
そして、この文字列は適切に解析されます。
しかし、次の文字列を解析できません!
20.1600 0.0001 0.0000 0.0053 0.0001 0.0000 383248/383248 MakeRequest [22]
この文字列は非常に似ています! しかし、最初は解析され、2 番目は解析されません:-(
パターンを簡単に 更新
.+ ([0-9\\.]+) .+ ([0-9\\.]+) .+([0-9\\.]+) .+ ([0-9\\.]+) .+ ([0-9\\.]+) .+ ([0-9\\.]+) .+ ([0-9\\/])+ .+\\.(MakeRequest) .+
あまりにも動作しません
私は使用しています
java.util.regex.Pattern
と
java.util.regex.Matcher