繁体   English   中英

Javascript正则表达式-匹配多行字符串(SCSS映射)

[英]Javascript Regex - Match multi-line strings (SCSS Map)

我目前正在研究Node脚本,它将使用正则表达式搜索SCSS(Sass)文件。 目的是建立所有定义的变量及其值的一个或多个数组。 然后可以将它们与项目文档中记录的值进行比较,以检查所有内容是否同步。

我使用以下正则表达式来匹配单行变量:

string.match(/\\$[az-]+:(.*)(?=;)/)

string.match(/[$a-zA-Z-]+(?=:)/g)[0]提取每个变量的名称。 但是,具有相当冗长的值的SCSS映射和SCSS变量可能会分散到多行上。

如何搜索以$开头,以$结尾的字符串; 并可能分布在多行上? 理想情况下,我想使用多个捕获组来返回一个数组,其中一个数组的单个行变量在一个组中,而SCSS映射在另一个组中。 但这不是必需的,两个正则表达式就可以了。

如果可以使用支持ES2018的最新Node.js版本,则可以尝试使用/s flag

但是,出于这种目的,适当的解析器会更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM