$re = '/(?:\b(?:(kilogram\.*s*\.*|kg\.*s*\.*)(?:[^[:alnum:]])*)(?:\s*weight\s*)*(?:\s*is\s*|\s*are\s*)*)\W*([\d\.,]*\d+\b)|(?:(?:[\s\.]?|^)([\d\.,]*\d+)\W*(kilogram\.*s*\.*|kg\.*s*\.*)\b)/m';
$str = '15kilograms fs s
kg 10 fe
something 10.5 kg-fef
11.55kg gfre
11.55-kg gfre
11.55 kg gfre
kg 11.25 gre
efewf kg 11 fweew
ewsfewf kg
55 few
kg-55.55 dwd
eeewegv kg 55.55 ee
fewfewff 10
kg feeee
smth. .15kg ewfcwe
something kilogram weight is 15.5
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php