轻松记录您
灵感和创意

markdown到html发生了啥

从markdown到HTML发生了啥,其实啥也没有发生。不信,望下看!

认识这个转换过程,先聊一聊exec方法。

RegExp.prototype.exec方法在一个指定字符串中执行一个搜索匹配。返回一个结果数组或 null。

如果匹配成功,exec() 方法返回一个数组(包含额外的属性 index 和 input),并更新正则表达式对象的 lastIndex 属性。完全匹配成功的文本将作为返回数组的第一项,从第二项起,后续每项都对应正则表达式内捕获括号里匹配成功的文本。如果匹配失败,exec() 方法返回 null,并将 lastIndex 重置为 0。

返回值是数组,结构如下

第一个索引[0]指匹配的全部字符串

存在[1]…[n]索引指括号中的分组捕获

index 匹配到的字符位于原始字符串的基于0的索引值

input 原始字符串

举个例子:

let reg = RegExp('foo*','g');
let str = 'table football, foosball';
let result = null;
while ((result = reg.exec(str)) !== null) {
  console.log(result);
}
//  => ['foo', index: 6, input: 'table football, foosball', groups: undefined]
//  => ['foo', index: 16, input: 'table football, foosball', groups: undefined]

回到正题,markdown to html 发生了啥,估计你会猜用到词法语法分析,嘿嘿,想多啦,这里用到了只是正则,惊讶不惊讶!

未经允许不得转载:坚果之云 Markdown » markdown到html发生了啥
分享到: 更多 (0)

坚果云Markdown轻松记录您 灵感和创意

坚果云Markdown下载坚果云Markdown介绍