Handling Multiple JavaScript Replace Matches

javascript, regex, replace

Solution

SO messed with my HTML...

var result = "This *is* a *test*!".replace(/\*(.*?)\*/gi, "<b>$1</b>");

Problem

I have the following string: ``` This *is* a *test*! ``` I want to bold the words surrounded by the * characters (so "is" and "test" in the example). I have the following JavaScript code: ``` var data = "This *is* a *test*!"; return data.replace(/\*(.*)\*/g, <b>$1</b>); ``` When the string is returned, I get the following: ``` This <b>is* a *test</b>! ``` How can I change the pattern or basic code in order to do the replacement the way I want it?

Original source