lang格式正则表达式语法参考

lo *_*cre 4 regex clang-format

我希望clang格式不修改用于分隔功能的注释行。我认为这commentPragmas是正确的选择,但我找不到有关clang格式正则表达式格式的信息。

我试图commentPragmas: '^/\*-.*'捕获看起来像这样的分隔线

/*------------------------------------------------------------------*/

但是上述正则表达式无法正常工作...在哪里可以找到用于clang格式的正则表达式的语法?

Luc*_*ski 5

TL / DR:口味为POSIX ERE


据我所知,ClangFormat docs中没有记录正则表达式风格,这是毫无帮助的。

让我们深入研究源代码以找出答案。

有一个名为类ContinuationIndenter,其中有一个CommentPragmasRegex字段,类型...... llvm::Regex 就在这里。好吧,这也不是真的有帮助,但也许只是包装...

原来llvm::Regex 是一个包装周围... llvm_regex。标头中包含以下注释

该文件实现POSIX正则表达式匹配器。基本和扩展POSIX正则表达式(ERE)均受支持。扩展了ERE,以支持比赛中的反向引用。此实现还支持使用嵌入式NUL字符匹配字符串。

定义llvm_regex标题中,我们还可以找到以下注释:

此代码源自OpenBSD的libc / regex