JSFiddle - React, Tailwind, and code Playground

HTML

<p>Простое тестовое задание на вакансию <a href="http://krawlly.com/vacancies/js.html">"JavaScript разработчик"</a>.
</p>
<script>
//Есть HTML страница, в ней следующая часть:
var html= '<table border=1>\
    <tr>\
        <th class = caption2 > Текущий тариф </th>\
        <td> 299 </td>\
    </tr>\
    <tr>\
        <th class="caption2">\
            Текущий баланс\
        </th>\
        <td class = "bad caption2"\
            title = "Для включения услуги баланс должен быть > 0!" >\
            &minus;100.33 <span class="currency">руб.</span>\
        </td>\
    </tr>\
    <tr>\
        <th class="caption2">\
            Обещаный платёж\
        </th>\
        <td class = "caption2">\
            100 <span class="currency">руб.</span>\
        </td>\
    </tr>\
    <tr>\
        <th class="caption2">\
            Бонусных баллов\
        </th>\
        <td class = "good">\
            77\
        </td>\
    </tr>\
</table>';
    document.write(html);
</script>

<p><u>Требования к реализации</u>. Необходимо написать js-код с использованием регулярного выражения, который из переменной <tt>html</tt> получит значение баланса (сделайте приведение типа значения к числу) и выведет его в консоль браузера. Значение баланса может быть любым числом: отрицательным, положительным, целым, дробным. Использовать методы, работающие с DOM браузера нельзя.</p>
<p><u>Требования к качеству</u>. Код не должен выдавать ошибку при незначительных изменениях во входящем html (добавление/изменение/удаление атрибутов тегов и их значений). При значительных изменениях в html баланс захватить может не получиться, в этом случае необходимо переменной баланса присвоить <tt>null</tt>.</p>
<p>Присылайте ссылку на JSFIDDLE с выполненным заданием на <a href="mailto:[email protected]">[email protected]</a> вместе с резюме.</p>

CSS

.bad {
    color: red;
}
.good {
    color: green;
}
.currency {
    color: blue;
}

JavaScript

var searchSplit= html.split( /Текущий баланс/i );

var searchSplit2= searchSplit[1].split('td');
var searchSplit3= searchSplit2[1].split('">');
var searchSplit5= searchSplit3[1].split('<');

var resultString = searchSplit5[0].replace(/\s+/g,' ');
//var regexp = /\d/;
//regexp.lastIndex = searchIndex.index;
var resultBalance = parseFloat(resultString.replace("&minus;", "-"));

//var searchZislo =  regexp.exec(resultString);

console.log(resultBalance);