Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 配置中的YAML正则表达式_Regex_Yaml - Fatal编程技术网

Regex 配置中的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

我试图在YAML配置文件中创建一些过滤器,但遇到了问题。我需要在一个地方匹配“硬摇滚”,在另一个地方匹配“摇滚”(但不是“硬摇滚”)。我可以让任何“摇滚”(包括“硬摇滚”)匹配,但我特别想单独匹配

现在我有这个:

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}的东西,我会尝试一下。