showdown.js 扩展名:匹配多词扩展名

showdown.js extension: match multiword extension

我想使用 showdown.js 创建自定义降价标签,这样:

==highlighted text==

呈现:

<mark>highlighted text</mark>

使用 twitter 扩展作为基准,我一直在尝试:

  // #highlighted# syntax
  {
    type:    'lang',
    regex:   '\B(\\)?==([\S]+)\b',
    replace: function (match, leadingSlash, highlighted) {
      // Check if we matched the leading \ and return nothing changed if so
      if (leadingSlash === '\') {
        return match;
      } else {
        return '<mark>' + highlighted + '</mark>';
      }
    }
  },

但这只能让我突出显示单个单词,例如

我想使用类似于 **==

我认为问题出在正则表达式上,但似乎无法确定。有人可以建议吗?

如果我理解正确,你可以使用这个简单的正则表达式:

regex: "==\s*(.+?)\s*==";

并使用匹配组#1。

RegEx Demo