В настоящее время я работаю над сценарием Node, который будет выполнять поиск в файле SCSS (Sass) с использованием регулярных выражений.Цель состоит в том, чтобы создать массив / массивы всех определенных переменных и их значений.Затем их можно сравнить со значениями, задокументированными в документации проекта, чтобы проверить, что все синхронизировано.
Я использовал следующее регулярное выражение для сопоставления однострочных переменных:
string.match(/\$[a-z-]+:(.*)(?=;)/)
и
string.match(/[$a-zA-Z-]+(?=:)/g)[0]
для извлечения имени каждой переменной.Однако карты SCSS и переменные SCSS с довольно многословными значениями могут распространяться на несколько строк.
Как найти строку, которая начинается с $
, заканчивается ;
и может быть разбита на несколько строк?В идеале я хотел бы использовать несколько групп захвата для возврата одного массива с однострочными переменными в одной группе и отображениями SCSS в другой.Это не является существенным, хотя два регулярных выражения было бы хорошо.