Regex 从字符串中提取大小的正则表达式

Regex 从字符串中提取大小的正则表达式,regex,Regex,具有此输入字符串: health status index pri rep docs.count docs.deleted store.size pri.store.size yellow open test1 5 1 222173 0 43.8gb 43.8gb yellow open test2 5 1 27142

具有此输入字符串:

health status index              pri rep docs.count docs.deleted store.size pri.store.size
yellow open   test1                 5   1     222173            0     43.8gb         43.8gb
yellow open   test2                 5   1      27142           10     36.6mb         36.6mb
我使用以下正则表达式提取一些信息:

^(\w+)\W+\w+\W+(\w+)\W+\w+\W+(\w+)\W+(\w+)\W+(\w+)\W+(\w+)~m
如您所见,从最后一组(
group6
)到第一个点(
43
),我只是数字

我怎样才能更正它,使最后一组得到整个数字?我的意思是,不使用
gb
mb
43.8和
36.6

演示:


提前感谢

您可以添加一个替代项
(\d++.\d++\w+
)来匹配
数字
+
数字
或(
字母数/
字符:

^(\w+)\W+\w+\W+(\w+)\W+\w+\W+(\w+)\W+(\w+)\W+(\w+)\W+(\d+\.\d+|\w+)
                                                      ^^^^^^^^^^^^^

您好,您快到了添加非数字捕获将捕获点(.)或任何特殊字符,添加\d将再次捕获数字+符号将捕获包含多个数字的数字。 我希望这对你有帮助。祝你好运。

使用;
^(\w+)\W+\w+\W+(\w+)\W+\w+\W+(\w+)\W+(\w+)\W+(\w+)\W+(\w+\W+\d+)