首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >yaml多行正则表达式

yaml多行正则表达式
EN

Stack Overflow用户
提问于 2020-10-20 13:06:10
回答 2查看 794关注 0票数 1

我想用pygreppre-commit编写一个钩子,它可以找到。

代码语言:javascript
复制
    .. warning:

(应该是.. warning::)。

如果我写

代码语言:javascript
复制
-   repo: local
    -   id: incorrect-sphinx-directives
        name: Check for incorrect Sphinx directives
        language: pygrep
        entry: \.\. (autosummary|contents|currentmodule|deprecated|function|image|important|include|ipython|literalinclude|math|module|note|raw|seealso|toctree|versionadded|versionchanged|warning):[^:]
        files: \.(py|pyx|rst)$

然后,这是有效的-然而,字符串是不可读的长。有办法把它分成多行吗?

我试过了

代码语言:javascript
复制
        entry: "\
            .. (autosummary|contents|currentmodule|deprecated\
            |function|image|important|include|ipython\
            |literalinclude|math|module|note|raw|seealso\
            |toctree|versionadded|versionchanged|warning\
            ):[^:]"

但这不起作用(结果的正则表达式不同)。

有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-20 15:02:22

作为记录在案,您可以使用详细的表达式:

代码语言:javascript
复制
        entry: |
            (?x)^(
                thing|
                other_thing|
                other_other_thing
            )$
票数 2
EN

Stack Overflow用户

发布于 2020-10-20 13:20:30

解决办法是

代码语言:javascript
复制
        entry: "\
            \\.\\. (autosummary|contents|currentmodule|deprecated\
            |function|image|important|include|ipython\
            |literalinclude|math|module|note|raw|seealso\
            |toctree|versionadded|versionchanged|warning\
            ):[^:]"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64445822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档