我目前正在研究Node脚本,该脚本将使用正则表达式搜索SCSS(Sass)文件。目的是建立所有定义的变量及其值的一个或多个数组。然后可以将它们与项目文档中记录的值进行比较,以检查所有内容是否同步。
我使用以下正则表达式来匹配单行变量:
string.match(/\$[a-z-]+:(.*)(?=;)/)
和
string.match(/[$a-zA-Z-]+(?=:)/g)[0]
提取每个变量的名称。但是,SCSS映射和SCSS变量值比较罗word的变量可能会散布到多行。
如何搜索以$
开头,以;
结尾并且可能分布在多行中的字符串?理想情况下,我想使用多个捕获组来返回一个数组,其中一个数组在一个组中具有单个行变量,而在另一个组中具有SCSS映射。但这不是必需的,两个正则表达式就可以了。