$re = '/\b(k(?:ilogram|g)\.*s*\.*)\W*(?:\h+weight)?(?:\h+(?:is|are))?\W*(\d[0-9.,]*\b)|(\d[0-9.,]*)\W*(k(?:ilogram|g)\.*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