当前位置: 代码迷 >> java >> 浮点数/双精度数的正则表达式
  详细解决方案

浮点数/双精度数的正则表达式

热度:59   发布时间:2023-08-04 09:21:16.0

我一直在尝试从一个句子中检索一个字符串和2个十进制数字,但是小数部分一直无法正常工作。

我的句子采用以下格式: AMBIENT_CAVE 0.5 1因此,它将是word (有时包含_ )然后是2个数字,它们可以是整数(1或0)或0到1之间的十进制数。

我当前的正则表达式为: (\\w+) ([+-]?([0-9]*[.])?[0-9]+) ([+-]?([0-9]*[.])?[0-9]+)哪一种有效,但使用上面第3组中的句子示例为0.

结果:

我只想要AMBIENT_CAVE0.51
有人知道怎么做吗?

在您不想捕获的任何组中添加?:

(\w+) ([+-]?(?:[0-9]*[.])?[0-9]+) ([+-]?(?:[0-9]*[.])?[0-9]+)
             ^                           ^

你可以试试这个。 请提供更多可用字符串的示例,以优化表达式

  (\w+)\s([\d\.]+)\s([\d\.]+)