我一直在尝试从一个句子中检索一个字符串和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
。
有人知道怎么做吗?
答案 0 :(得分:3)
将?:
添加到您不想捕获的任何组中:
(\w+) ([+-]?(?:[0-9]*[.])?[0-9]+) ([+-]?(?:[0-9]*[.])?[0-9]+)
^ ^
答案 1 :(得分:0)
您可以尝试这个。请提供更多可用字符串的示例,以优化表达式
(\w+)\s([\d\.]+)\s([\d\.]+)