Regex 正则表达式中块括号中的括号

Regex 正则表达式中块括号中的括号,regex,backreference,Regex,Backreference,我需要一个与以下内容匹配的正则表达式: (whatever) 3.4 Temp (whatever) 7.8 Name (whatever) 10.0 Other Name 基本上,它必须匹配开头的任何内容,然后是两个空格、两个数字、一个点和一个数字,或者三个空格、一个数字、一个点和一个数字,然后是两个空格和任何内容 这很容易与这个正则表达式匹配: .*? [\s|\d]\d\.\d .*? 但是,我想使用反向引用提取十进制数及其后的任何内容。我在努力 .*? [\s(

我需要一个与以下内容匹配的正则表达式:

(whatever)   3.4  Temp
(whatever)   7.8  Name
(whatever)  10.0  Other Name
基本上,它必须匹配开头的任何内容,然后是两个空格、两个数字、一个点和一个数字,或者三个空格、一个数字、一个点和一个数字,然后是两个空格和任何内容

这很容易与这个正则表达式匹配:

.*?  [\s|\d]\d\.\d  .*?
但是,我想使用反向引用提取十进制数及其后的任何内容。我在努力

.*?  [\s(\d\.\d)|(\d\d\.\d)]  (.*?)

但是,使用\1、\2来引用它是不起作用的,我认为这是因为我所指的括号位于带有“|”符号的可选方括号中。有解决方案吗?

当然,只需将空格从字符类中拉出即可

.*?\s+([\d.]+)
但是,由于
\d
实际上是
[0123456789.]
,所以只需删除字符类。由于
*?
也将匹配这些前导空格,所以也请删除
\s

.*?(\d+)

|
在字符类中不表示“或”。我认为你根本不应该在这里使用角色类…@MattBall-Jeez我是个白痴。你刚才看的真是太神奇了。谢谢