如何编写正则表达式来匹配 yaml 文件中的键?

How to write regex to match a key in yaml file?

我有一个看起来像这样的 yaml..! Sonar 默认为 sonar-yaml-plugin 提供一些模板,这些模板接受正则表达式作为输入以验证 .yml 文件中是否存在特定密钥。

我希望正则表达式匹配整个键 logging:file

 server:
   port: 8989
 logging:
    file: ./sample1.txt
    path: ./log

我尝试使用 (logging)(?s:.*?)(file) 但是当我在声纳插件中使用它时它没有验证。

我不太确定您可能想要匹配什么,但也许 this regex 可以帮助您这样做或设计您想要的表达式:

^(logging:|\s+file:)(.+)

  • 此表达式在开始时有左边界 ^
  • 你的两个词用 OR (|)
  • 然后,使用 .+
  • 匹配之后的所有内容
  • 您还可以为其添加额外的边界,但是如果您可以为您的问题添加一些真实示例,那么回答起来会更容易。