Как преобразовать 1024 КБ в 1 МБ с выводом? - PullRequest
0 голосов
/ 06 августа 2010

У меня есть это

/([^\/\|\#\<\(\>\;\s][0-9]*[\s][KB]{2})

, чтобы быть конкретным, я должен был использовать [КБ] {2} Я получил необходимое значение, но могу ли я преобразовать окончательный отпечаток вMB?

Например: match = 2000KB = 2MB?

Спасибо

Ответы [ 2 ]

1 голос
/ 06 августа 2010

Конечно, вы можете; захватить единицу и номер отдельно, как это:

/[^\/\|\#\<\(\>\;\s]([0-9]*)[\s]([KB]{2})

Конечно, если исходное регулярное выражение верно. Тогда:

if ($2 eq "KB" && $1 > 1024) {
    $1 /= 1024;
    $2 = "MB";
}
0 голосов
/ 06 августа 2010

lol на жале "2000 KK" ваше регулярное выражение соответствует

$1 = 000
$2 = KK

лучше попробуйте это;)

/(\d+)\s*(KB)/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...