Javascript正则表达式帮助与字符不匹配

Javascript正则表达式帮助与字符不匹配,javascript,regex,Javascript,Regex,我正在制作自己的标记编辑器,它的粗体和斜体很像堆栈溢出: // **bold** Text = Text.replace(new RegExp("\\*\\*(.+?)\\*\\*", "g"), '<strong>$1</strong>'); // *italic* Text = Text.replace(new RegExp("\\*(.+?)\\*", "g"), '<em>$1</em>'); 因此,我尝试添加[^],使其匹配一个有点错

我正在制作自己的标记编辑器,它的粗体和斜体很像堆栈溢出:

// **bold**
Text = Text.replace(new RegExp("\\*\\*(.+?)\\*\\*", "g"), '<strong>$1</strong>');

// *italic*
Text = Text.replace(new RegExp("\\*(.+?)\\*", "g"), '<em>$1</em>');
因此,我尝试添加
[^]
,使其匹配一个有点错误的非空格字符:

// **bold**
Text = Text.replace(new RegExp("\\*\\*(.+?)\\*\\*", "g"), '<strong>$1</strong>');

// *italic*
Text = Text.replace(new RegExp("\\*[^ ](.+?)[^ ]\\*", "g"), '<em>$1</em>');
呈现为

这不应该是粗体的


将角色类放入捕获组中:

([^ ].+?[^ ])
或稍短一点(并考虑所有空白):


你试过用
[^\s]
代替
[^]
吗?谢谢Felix!我编辑了这个问题,但粗体的问题没有真正起作用。你知道我需要做什么吗?@TomGullen:试试
([^\s*].+?[^\s*])
// **bold**
Text = Text.replace(new RegExp("\\*\\*([^ ](.+?)[^ ])\\*\\*", "g"), '<strong>$1</strong>');

// *italic*
Text = Text.replace(new RegExp("\\*([^ ](.+?)[^ ])\\*", "g"), '<em>$1</em>');
this ** shouldnt be bold ** ewfwef
([^ ].+?[^ ])
(\S.+?\S)