草庐IT

3d匹配

全部标签

go - golang中如何匹配两个接口(interface)

如果我有一种类型的map[interface{}]interface{}并且我有另一个具有map[string]interface{}的map,那么如何比较interface{}值。如果我有一个m:=make(map[string]interface{})然后我执行m[m["key"]]即我正在为a传递一个interface{}值以字符串为键映射。反之亦然,即:m1:=make(map[interface{}]interface{})然后我执行m1[m["key"]] 最佳答案 Go接口(interface)是一个2字值,并按此进行

正则表达式在出现前缀时从字符串中提取数字集,而不匹配所述前缀

如标题所述,假设我有这样一个字符串:"somestring~200~122"我想在出现前缀“~”时使用正则表达式来匹配数字。所以我最终可以得到[200,122]。匹配前缀是必要的,因为我需要防止像下面这样的字符串不匹配的情况"somestring~abc200~def122"对于其他上下文:如标题中所述,我正在使用go,因此我计划使用类似以下的方法来获取字符串中的数字:pattern:=regexp.MustCompile("regexineedhelpwith")numbers:=pattern.FindAllString(host,-1) 最佳答案

algorithm - 如何使用go识别给定号码的匹配模式?

我正在尝试确定给定电话号码范围的模式匹配,以用于CiscoCommunicationsManager平台。本质上,“X”与电话号码中的数字0-9匹配,并且您可以使用[x-y]表示法指定数字范围。给定电话号码范围01502221000-02072221149(包含150个号码),这将创建并输出两种模式:020722210XX和020722211[0-4]X显然,我希望它可以在提供的任何范围内工作。在给定数字范围的情况下,我似乎无法理解如何生成这些模式。任何想法将不胜感激。非常感谢。 最佳答案 我相信我找到了一个不错的算法可以为您解决这

使用 ExampleTest 进行测试 - 预期输出不匹配

Runningtool:/usr/local/go/bin/gotest-timeout30s-run^(ExampleBuild)$---FAIL:ExampleBuild(0.00s)got:POSTlocalhost/status?t=1HTTP/1.1Content-Type:application/jsonwant:POSTlocalhost/status?t=1HTTP/1.1Content-Type:application/jsonFAILexitstatus1我正在尝试使用Example方法在go中编写测试。我创建了一个带有header(Content-Type:app

匹配没有小写字母且至少有一个大写字母的正则表达式?

我需要在没有小写字母且至少有一个大写字母的情况下在go中找到匹配的正则表达式。例如:"123A":Match"123":Nomatch"aA":nomatch"AHKHGJHB":Match这个工作但在PHP中不在Go中(?=token在Go中不工作):(?=.*[A-Z].*)(?=^[^a-z]*$)在我的代码中,这一行调用正则表达式:isUppcase,_:=reg.MatchString(`^[^a-z]*$`,string)实际上我的正则表达式在没有小写字母时捕捉,但我希望它在至少有一个大写字母时也能捕捉。 最佳答案 你可

regex - Go : strings or regexp 中短字符串前缀匹配的更好方法

我知道我得到的字符串会很短(我无法决定是使用strings.Contains,例如strings.Contains("123-ab-foo","123-ab"),还是正则表达式。我显然想要最快的方法。用例示例:ifstrings.Contains(current_string,MY_CONST){//dosmth} 最佳答案 如果您确定要查找的字符串(MY_CONST)将位于current_string的开头,那么最有效的方法将是HasPrefixfuncHasPrefix(s,prefixstring)boolHasPrefixt

go - 从 Go 中的字符串中提取匹配模式

这个问题在这里已经有了答案:Howtoiteratethroughregexmatchinggroups(1个回答)Howtocapture'multiple'repeatedgroupswithRegularExpressions(1个回答)HowtogetcapturinggroupfunctionalityinGoregularexpressions(8个答案)Goregexfindsubstring(2个答案)关闭3年前。如何根据模式从字符串中提取值?这是我的模式:Member-[A-Za-z]+-Age%d+示例:Member-John-Age50、Member-Peter-

go - 默认服务器 mux 如何匹配 url 模式

我见过使用以下代码从请求路径中提取url参数的简单路由器实现。handler:=http.NewServerMux()handler.HandleFunc('/user/',func(whttp.ResponseWriter,r*http.Request){name:=strings.Replace(r.URL.Path,'/user/',"",1)//thiscodeio.WriteString(w,fmt.Sprintf("Hello%s\n",name)})然后他们将是另一条路线,如/user(注意缺少尾部斜线)。handler.HandleFunc('/user',handle

go - 如何在 for 循环中创建持续时间 -(不匹配类型 int 和 time.Duration)

我有一个循环,我从一个时间开始。时间和我添加一分钟的内容。foridx:=rangekeys{vara=idx*time.Minutevart=tInit.Add(time.Minute*a)fmt.Println(t,idx)}这是我的错误invalidoperation:idx*time.Minute(mismatchedtypesintandtime.Duration) 最佳答案 数值运算的操作数必须具有相同的类型。Convertint值idx到time.Duration:vara=time.Duration(idx)*tim

arrays - 不匹配的类型 float64 和 int

我正在尝试创建随机成绩并将它们添加到test_scores数组中。然后计算平均值。这个程序:packagemainimport("fmt""math/rand")funcmain(){i:=0vartest_scores[5]float64fori产生:main.go:24:invalidoperation:total/5(mismatchedtypesfloat64andint)这个很好用:packagemainimport("fmt""math/rand")funcmain(){i:=0vartest_scores[5]float64fori唯一的区别是在最后一行,我使用了固定的5