Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 更简洁的正则表达式_Regex - Fatal编程技术网

Regex 更简洁的正则表达式

Regex 更简洁的正则表达式,regex,Regex,我有一份大报告,其中包含以下文本块: $S Cal V1 1 1.000 353.2 20.0 47 2 4.000 179.4 19.9 95 3 8.000 -51.5 20.0 35 我想得到的是三个独立的表达式,用于提取第二列中的数字。标题($S Cal V1)将保持不变,但除第一列中的数字外,所有数字都可能更改 这就是我目前的困境。我知道是否可以浓缩,但我也希望有更聪明的东西 \$S Cal V1\n1\s

我有一份大报告,其中包含以下文本块:

$S Cal V1
1   1.000       353.2   20.0    47
2   4.000       179.4   19.9    95
3   8.000       -51.5   20.0    35
我想得到的是三个独立的表达式,用于提取第二列中的数字。标题($S Cal V1)将保持不变,但除第一列中的数字外,所有数字都可能更改

这就是我目前的困境。我知道是否可以浓缩,但我也希望有更聪明的东西

\$S Cal V1\n1\s*(\d+\.\d+)
\$S Cal V1\n1\s*\d+\.\d+\s*\d+\.\d+\s\d+\.\d+\s*\d+\n2\s*(\d+\.\d+)
\$S Cal V1\n1\s*\d+\.\d+\s*\d+\.\d+\s\d+\.\d+\s*\d+\n2\s*\d+\.\d+\s*\d+\.\d+\s\d+\.\d+\s*\d+\n3\s*(\d+\.\d+)

任何想法都将不胜感激

数据的精度似乎是有规律的


\d\。\d{3}//clever:)

只需使用最后一个表达式,并将捕获组放在每行的第二个数字周围。然后你可以一次得到所有3个数字。你使用的是什么工具/语言?不幸的是,我需要为我使用的软件使用三个单独的表达式。它是一种实验室软件,可以从仪器中获取信息。