需要正则表达式来制作 * 粗体之间的文本

Sup*_*eam 4 html javascript regex

我正在尝试将 之间的文本加粗*,就像*bold*我在 JavaScript 中尝试正则表达式一样,但我不知道为什么它不起作用。

var bold = /\*(.*?)\*/gim;
var replacedText = replacedText.replace(bold, function($0,$1){
    return $1?$0:'<b>' + $0 + '</b>';
});
Run Code Online (Sandbox Code Playgroud)

谢谢大家 这是最终答案

已编辑

var bold = /\*(.*?)\*/gim;
var replacedText = replacedText.replace(bold, function($0,$1){
    return $1 ? ('<b>' + $1 + '</b>') : $0;
});
Run Code Online (Sandbox Code Playgroud)

Jon*_*Jon 5

正则表达式没问题,但你的逻辑不是:

var replacedText = replacedText.replace(bold, function($0,$1){
    return $1 ? ('<b>' + $1 + '</b>') : $0;
});
Run Code Online (Sandbox Code Playgroud)

条件颠倒了,无论如何你应该$1在替换时使用而不是$0(后者包括星号)。