JSFiddle - React, Tailwind, and code Playground

HTML

<div id="message" name="message" contenteditable="true">fsfdasds <b>#sdsd</b> sadsad</div>

JavaScript

function makeBold(match, p1, p2, p3, offset, string) {
    return p1+'<b>' + p2 + '</b>'+p3;
};

$('#message').keyup(function (e) {
    var $this = $(this);
    
    //detect space
    if (e.keyCode == 32) {
        var innerHtml = $this.html();
        innerHtml = innerHtml.replace(/(.*[\s|($nbsp;)])(#\w+)(.*)/g, makeBold);
        if(innerHtml !== $this.html()){
            $this.html(innerHtml)
                 .focus();
        }
    }
});