正则表达式学习(三):Vue模板解析(模板语法)

434 阅读1分钟

exec函数与lastIndex

正则实例会有一个exec方法,他们会将上次成功匹配后的位置记录在 lastIndex 属性中。使用此特性,exec() 可用来对单个字符串中的多次匹配结果进行逐条的遍历(包括捕获到的匹配)。并且lastIndex是可读可写的。

mdn: developer.mozilla.org/zh-CN/docs/…

返回值

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

如果匹配失败,exec() 方法返回 null,并将 lastIndex 重置为 0 。

模板语法

Vue中可以使用模板语法,在{{}}中填写变量,然后给变量赋值。

cn.vuejs.org/v2/guide/sy…

由option.delimiters定义模板形式,如果用户没有自定义就使用默认的值。

parseText

1. parseText利用了正则的exec函数结合while循环,一直去捕获模板内的字符串

2. 将捕获的字符串(变量或表达式等)外面加上_s(),再整合所有字符串并返回

示例

最后

通过parseText函数学习了exec方法与lastIndex的含义,至此,基本的正则知识都已经学习完毕。还有一部知识,如分正向预查等还需要学习。