const regex = /((?:(?<!\d)(\d{1,4}(?:[\.,]\d{1,6})?)\s+((?:kilogram|kilos|kg)))|(?:((?:kilogram|kilos|kg))\s+(\d{1,4}(?:[\.,]\d{1,6})?)))/mg;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('((?:(?<!\\d)(\\d{1,4}(?:[\\.,]\\d{1,6})?)\\s+((?:kilogram|kilos|kg)))|(?:((?:kilogram|kilos|kg))\\s+(\\d{1,4}(?:[\\.,]\\d{1,6})?)))', 'mg')
const str = `toitnt kg 15.6 oeingoiegn
oinef 45.9009090909 kg eoif
something blah 65.78 kilos ow`;
const subst = `*THIS IS THE NUMBER: '$2$5'* AND *THIS IS THE UNIT: '$3$4'*`;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions