JSFiddle - React, Tailwind, and code Playground

HTML

<div id="results"></div>

JavaScript

(function ($) {
    var n = '101',
        max = 10000000,

        pats = [/^(1*(01*0)*)+|0*1(0*(10*1)*)*$/g,  /^(?:1*(?:01*0)*)+|0*1(?:0*(?:10*1)*)*$/g],

        testct = 1,
        log = function (str) {
            $('ul:last').append('<li>' + str + '</li>');
        },
        test = function (i, pat) {
            var pat = pat ? pat[i] : pats[i];
            var start = new Date().getTime();
            $('#results').append('<ul></ul>');
            log('<b>Test ' + testct + '</b>');
            log('using pattern ' + i + ': ' + pat);
            log('using string: '+n);
            log('begin: ' + start);
            
            for (var i = 0; i <=  max; i++) {
                var x = pat.test(n);
                if(i==max)
                    log('test result: '+x);
            }
            log('elapsed time: ' + (new Date().getTime() - start));
            testct++;
        }

    test(0);
    test(1);
    test(0);
    test(1);
 
})(jQuery);