Regex 用于捕获数据的正则表达式

Regex 用于捕获数据的正则表达式,regex,Regex,我正在尝试使用正则表达式捕获一组字符串。 字符串的格式如下 CID _At 1 2 99 1,198,498,377 414 0 0 0 3,694 我想到的表达方式是 [A-Za-z][a-z0-9A-Z_-]*\s*[0-6]\s*[0-4]\s\s[\s\d]\d\s*[0-9,]*\s*[0-9,]*\s*[0-9,]*\s*[0-9,]*\s*0\s*[0-9,]*

我正在尝试使用正则表达式捕获一组字符串。 字符串的格式如下

CID _At                   1   2  99   1,198,498,377         414           0       0       0       3,694
我想到的表达方式是

[A-Za-z][a-z0-9A-Z_-]*\s*[0-6]\s*[0-4]\s\s[\s\d]\d\s*[0-9,]*\s*[0-9,]*\s*[0-9,]*\s*[0-9,]*\s*0\s*[0-9,]*
虽然这个表达式适合我,并提供了必要的输出,但我觉得它没有得到优化


有人能帮我优化表达式吗?

你可以在这里使用正则表达式:它还显示了需要多少步骤。嗨@jace,我正在尝试从文件中提取数据。该文件包含多行类似于我提到的行,具有不同的值和名称,还有一些我不需要的其他数据。
<?php
$text = 'CID _At                   1   2  99   1,198,498,377         414           0       0       0       3,694';
preg_match("/^[A-Z]+\s+[A-Za-z_]+\s+[0-9]+\s+[0-9]+\s+[0-9]+\s+[0-9,]+\s+[0-9]+\s+[0-9]+\s+[0-9]+\s+[0-9]+\s+[0-9,]+$/", $text, $m);
print_r($m);
preg_match("/^([A-Z]+)\s+([A-Za-z_]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9,]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+([0-9,]+)$/", $text, $m);
print_r($m);
/*
Output:
Array
(
    [0] => CID _At                   1   2  99   1,198,498,377         414           0       0       0       3,694
)
Array
(
    [0] => CID _At                   1   2  99   1,198,498,377         414           0       0       0       3,694
    [1] => CID
    [2] => _At
    [3] => 1
    [4] => 2
    [5] => 99
    [6] => 1,198,498,377
    [7] => 414
    [8] => 0
    [9] => 0
    [10] => 0
    [11] => 3,694
)

*/