如何替换和转换#list到html ul列表Javascript正则表达式

时间:2016-06-27 10:04:58

标签: javascript regex

如何string#replace使用正则表达式转换以下内容

# title 1
# title 2
# title 3

<ul>
 <li>title 1</li>
 <li>title 2</li>
 <li>title 3</li>
</ul>

1 个答案:

答案 0 :(得分:1)

您可以使用两个 String#replace 方法

来完成此操作

var div = document.getElementById('content');
div.innerHTML = div.innerHTML
  // wrap all elements with ul
  .replace(/(((?:^|\n)\s*)[\*#](.*))+/g, '<ul>$&\n</ul>')
  // wrap all line with li
  .replace(/((?:<ul>\n?|\n)\s*)[\*#](.*)/g, '$1<li>$2</li>');
<div id="content">
  # title 1
  # title 2
  # title 3
</div>