问题描述
我一直在尝试从一个句子中检索一个字符串和2个十进制数字,但是小数部分一直无法正常工作。
我的句子采用以下格式: AMBIENT_CAVE 0.5 1
因此,它将是word
(有时包含_
)然后是2个数字,它们可以是整数(1或0)或0到1之间的十进制数。
我当前的正则表达式为: (\\w+) ([+-]?([0-9]*[.])?[0-9]+) ([+-]?([0-9]*[.])?[0-9]+)
哪一种有效,但使用上面第3组中的句子示例为0.
。
结果:
我只想要AMBIENT_CAVE
, 0.5
和1
。
有人知道怎么做吗?
1楼
在您不想捕获的任何组中添加?:
:
(\w+) ([+-]?(?:[0-9]*[.])?[0-9]+) ([+-]?(?:[0-9]*[.])?[0-9]+)
^ ^
2楼
你可以试试这个。 请提供更多可用字符串的示例,以优化表达式
(\w+)\s([\d\.]+)\s([\d\.]+)