Regex 配置中的YAML正则表达式
我试图在YAML配置文件中创建一些过滤器,但遇到了问题。我需要在一个地方匹配“硬摇滚”,在另一个地方匹配“摇滚”(但不是“硬摇滚”)。我可以让任何“摇滚”(包括“硬摇滚”)匹配,但我特别想单独匹配 现在我有这个:Regex 配置中的YAML正则表达式,regex,yaml,Regex,Yaml,我试图在YAML配置文件中创建一些过滤器,但遇到了问题。我需要在一个地方匹配“硬摇滚”,在另一个地方匹配“摇滚”(但不是“硬摇滚”)。我可以让任何“摇滚”(包括“硬摇滚”)匹配,但我特别想单独匹配 现在我有这个: paths: "genre::((?i)(^.*metal|hard\\srock))": metal.hardrock/$albumartist/$year - $album/$track. $title "genre::((?i)(pop|rock))": pop
paths:
"genre::((?i)(^.*metal|hard\\srock))": metal.hardrock/$albumartist/$year - $album/$track. $title
"genre::((?i)(pop|rock))": pop.rock/$albumartist/$year - $album/$track. $title
但事实上,任何“硬石”都会击中第二个配置,而不是第一个配置。我试图添加一个“匹配词”选项(\b),但似乎不起作用
什么样的正则表达式才能分别正确匹配这两个表达式?此规则的确切输入是什么?是“硬摇滚”还是“硬摇滚”?你试过
体裁:((?i)(^.*metal | hard.{1,3}rock))“
作为解决办法吗?你试过回顾:体裁:(?i)(pop |)(?字符串来自mp3标签/flac元数据文件,所以我认为这是一个适当的空白。我没有尝试过{1,3}的东西,我会尝试一下。