Skip to main content

函数原型

func (s1 string) submatches(s2 string) map[string]string

参数介绍

命名捕获组

  • 在使用submatch的时候,会与一个正则语法,“命名捕获组”一同使用:(?P<name>pattern)
  • 其中 name 是捕获组的名称,pattern 是要匹配的模式。捕获组是一种可以将匹配的文本捕获并在后续操作中使用的机制。
  • 在yaml中,我们将name化作map的key,pattern匹配到的内容化作value,也就是说,在一段正则中,可以存在多个命名捕获组,例如:
    • "^SSH-([\\d.]+)-OpenSSH_(?P<version0>[\\w._-]+) Debian-(?P<version1>\\S*maemo\\S*)\\r?\\n"
    • 可以看到上方的例子中的\w\d\n等都被替换成了\\w\\d\\n,这是因为需要规避yaml的转译

举例

  • Response
  • 可以编写如下脚本判断版本:
  • 如果是要提供给下一个规则,则可以使用output:
  • 其中上述的token还可以拆分成serach和token,也就是: