Java 正则表达式令人困惑

标签 java regex

我想要像这样解析字符串

  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]

这个字符串非常相似!但第一个被解析,第二个没有:-(

更新 轻松制作图案

.+ ([0-9\\.]+) .+ ([0-9\\.]+) .+([0-9\\.]+) .+ ([0-9\\.]+) .+ ([0-9\\.]+) .+ ([0-9\\.]+) .+ ([0-9\\/])+ .+\\.(MakeRequest) .+

也不起作用

我正在使用

java.util.regex.Pattern

java.util.regex.Matcher

最佳答案

([0-9\.]+) .+ ([0-9\/])+

匹配空格、一个或多个字符、空格(总共 3 个字符)

第二个字符串只有 2 个空格。

0.0000 383248/383248

关于Java 正则表达式令人困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10246777/

相关文章:

java - 在哪里可以从 Twitter 搜索返回的 HttpClient 获取 http 响应代码?

java - 保存一个表单并在Outputid(主键)中生成一个值,该值一次是另一种表单?

javascript - 应用程序版本验证的 RegExp 应该是什么?

ios - 允许下划线和破折号的 swift ios 字母数字正则表达式

javascript - 使用正则表达式循环 Json 数据

r - 在 R (perl) 上使用正则表达式在向量中查找符合条件的单词

java - 使用 jSoup 从 XML 中的标签之间获取文本

java - 在应用程序开始时获取 HttpSessionEventPublisher 异常

java - Eclipse 插件安装问题

java - 正则表达式分割遵循 ABNF 形式的字符串