У меня есть это
/([^\/\|\#\<\(\>\;\s][0-9]*[\s][KB]{2})
, чтобы быть конкретным, я должен был использовать [КБ] {2} Я получил необходимое значение, но могу ли я преобразовать окончательный отпечаток вMB?
Например: match = 2000KB = 2MB?
Спасибо
Конечно, вы можете; захватить единицу и номер отдельно, как это:
/[^\/\|\#\<\(\>\;\s]([0-9]*)[\s]([KB]{2})
Конечно, если исходное регулярное выражение верно. Тогда:
if ($2 eq "KB" && $1 > 1024) { $1 /= 1024; $2 = "MB"; }
lol на жале "2000 KK" ваше регулярное выражение соответствует
"2000 KK"
$1 = 000 $2 = KK
лучше попробуйте это;)
/(\d+)\s*(KB)/