我需要一个符合以下条件的RegEx:
(whatever) 3.4 Temp
(whatever) 7.8 Name
(whatever) 10.0 Other Name
基本上,它必须匹配开头的任何内容,然后是两个空格,两个数字,一个点和一个数字或三个空格,一个数字,一个点和一个数字,后跟两个空格等等。 / p>
这很容易与此RegEx匹配:
.*? [\s|\d]\d\.\d .*?
但是,我想使用反向引用提取十进制数字及其后的数字。我在尝试
.*? [\s(\d\.\d)|(\d\d\.\d)] (.*?)
然而,用\ 1引用它,\ 2不起作用,我认为因为我所指的括号是在'|'的可选方括号中符号。有解决方案吗?
答案 0 :(得分:1)
当然,只需将空间拉出角色类。
.*?\s+([\d.]+)
但是,由于\d
字面上是[0123456789.]
,所以只需删除字符类。由于.*?
也会匹配这些前导空格,因此也请删除\s
!
.*?(\d+)