【问题标题】:How to make array of regexp in golang如何在golang中制作正则表达式数组
【发布时间】:2022-01-25 13:01:02
【问题描述】:

我想使用以下代码从给定的正则表达式模式中过滤掉一些路径:

patterns := [...]string{`pattern1`, `pattern2`, `pattern3`, ...}
filters := make([]regexp, len(patterns))

for idx, pattern := range patterns {
  filters[idx] = regexp.MustCompile(pattern)
}

...

上面的代码无法编译,并且给了我use of package regexp without selector错误,因为我已经导入了包,所以,正确的方法是什么正则表达式数组?谢谢。

【问题讨论】:

  • regexp 是一个包,您正在创建一个包数组而不是数据类型。正则表达式是大写 R 不是正则表达式的结构。
  • 我已经阅读了这篇文章,但似乎处于不同的情况。产生错误的行是filters := make([]regexp, len(patterns,thiat 正在为正则表达式分配存储空间,而不是初始化数组元素。

标签: arrays go


【解决方案1】:

尝试创建一个结构数组(一种类型)而不是一个包数组:

filters := make([]*regexp.Regexp, len(patterns))

【讨论】:

    猜你喜欢
    • 2011-03-26
    • 2011-10-30
    • 2019-03-13
    • 2020-05-23
    • 2018-03-21
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多