我正试图将clang-tidy
的硬编码配置选项从Makefile移到.clang-tidy
YAML文件中。到目前为止,我们将www.example.comrun-clang-tidy-6.0.py称为:
# Run clang-tidy. The header filter includes files in the foo and bar/baz directories
# but it excludes files ending in .g.h (auto-generated headers).
run-clang-tidy-6.0.py -header-filter='.*(foo|bar\/baz).*(?<!\.g\.h)$$' > clang-tidy-output.txt
这样可以正常工作,但是如果我在.clang-tidy
中有HeaderFilterRegex: '.*(foo|bar\/baz).*(?<!\.g\.h)$$'
,过滤就不能像预期的那样工作。
我尝试了各种各样的东西围绕着什么字符被转义/不转义,因为我知道Make和YAML有不同的期望,但我不能得到正确的。
- 替换$$ -〉$
- 双转义\(\ -〉\)
- 正在删除“”
有人能给我解释一下这个正则表达式在YAML文件中的适当格式吗?
1条答案
按热度按时间n3h0vuf21#
据我所知,正则表达式应该在YAML文件中写成字符串,反斜杠应该用另一个反斜杠转义。在你的场景中,YAML文件应该包括:
在这种情况下,正斜杠之前和点之前的反斜杠将被另一个反斜杠转义。反斜杠用于转义美元符号之前的反斜杠和负lookbehindAssert中的点。要在YAML中包围正则表达式,请使用单引号或双引号。如果使用双引号,则必须转义反斜杠和其他几个YAML特定的符号。比如美元符号。举个例子: