Как написать регулярное выражение в yaml на нескольких строках, которое при преобразовании в json представляет собой одну строку без лишних пробелов или комментариев?
Документы VSCode наброски способ написать единственное регулярное выражение в yaml, которое занимает несколько строк с комментариями. Я попробовал их предложения, и мой вывод всегда включает в себя новые строки и комментарии.
Вот пример из их примера, сохраненный в syntaxes/abc.tmLanguage.yaml
:
---
match: >
(?x)
\s* # Leading whitespace
(\[)([^]]+?)(\])(:) # reference name
[ \t]* # optional whitespace
(<?)(\S+?)(>?) # The url
(?:
((\().+?(\))) # Match title in quotes
| ((").+?(")) # or in parens
)? # Title is optional
\s* # Optional whitespace
$
name: meta.link.reference.def.markdown
Затем я устанавливаю инструмент js -yaml , как предложено, и запускаю следующая команда:
$ npx js-yaml syntaxes/abc.tmLanguage.yaml > syntaxes/abc.tmLanguage.json
Сгенерированный файл syntaxes/abc.tmLanguage.json
содержит все пробелы и комментарии
{
"match": "(?x)\n \\s* # Leading whitespace\n (\\[)([^]]+?)(\\])(:) # reference name\n [ \\t]* # optional whitespace\n (<?)(\\S+?)(>?) # The url\n (?:\n ((\\().+?(\\))) # Match title in quotes\n | ((\").+?(\")) # or in parens\n )? # Title is optional\n \\s* # Optional whitespace\n $\n",
"name": "meta.link.reference.def.markdown"
}
Затем я попытался вставить свой вышеупомянутый yaml в codebeautify.org , json2yaml.com , convert json .com и более, все с похожими результатами.
Я также пробовал несколько вариантов многострочных операторов yaml, таких как >-
, |
, |-
, et c, но ни одна из них не решила проблему. Что я делаю неправильно?