JSFiddle - React, Tailwind, and code Playground

JavaScript

const decodeWeight = function (opis) {
  var p = {
  digit: '(\d+\.?\d*)',
  cont: '(\/1\s(opak|pusz|but|szt)\.)',
  unit: '(k?g|ml|l\b|szt\.)'
  };

  //regular expression
  var bez = "^(1\\s(szt\\.|kg|l\\b)|100\\s(g|ml))(\\/1\\s(opak\\.|pusz\\.|but\\.|szt\\.|para))?\\s*$";
  var comma1 = "^" + p.digit + "\\s" + p.unit + ",\\s" + p.digit + "\\s" + p.unit + p.cont + "\\s*$";
  var comma2 = "^" + p.digit + "\\s" + p.unit + ",\\s" + p.digit + "\\s" + p.unit + ",\\s" + p.digit +"\\s" + p.unit + p.cont + "\\s*$";
  var comma3 = "^" + p.digit + "\\s" + p.unit + ",\\s" + p.digit + "\\s" + p.unit + ",\\s" + p.digit +"\\s" + p.unit + ",\\s" + p.digit +"\\s" + p.unit + p.cont + "\\s*$";
  var range = "^" + p.digit + "-" + p.digit + "\\s" + p.unit + p.cont + "\\s*$";
  var one = "^" + p.digit + "\\s" + p.unit + p.cont + "\\s*$";

  var desc = opis.replace(/(kostek|role?k(?:i|a)?|torebe?k(?:i|a)?|piramide?k(?:i|a)?)/g, "szt.");
  desc = desc.replace(/(\d),(\d)/, "$1.$2");
  desc = desc.replace(/(\d+)\sx\s(\d+\.?\d*)/g, function(str) {
  return (Number(RegExp.$1) * Number(RegExp.$2)).toString();
  });


  var test = new RegExp(bez,"m").test(desc);
  return test ? 'bingo' : 'dupa'
  }
alert(decodeWeight('100szt, 2kg'));