草庐IT

在 GoLang 中用于后缀检测的正则表达式

我试图强制我检查的字符串必须以冒号结尾。但是,我想在此之前允许任何字符集。允许以下内容:match,_:=regexp.MatchString("([a-z]+):","hello:")//Passmatch,_:=regexp.MatchString("([a-z]+):","a12ab3c4:")//Passmatch,_:=regexp.MatchString("([a-z]+):","a12#ab3c4:")//Pass以下应该失败:match,_:=regexp.MatchString("([a-z]+):",":::")//Failmatch,_:=regexp.Match

regex - 如何在 golang 中使用正则表达式重命名 json 字符串中的根字段而不影响同名的内部字段?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭4年前。Improvethisquestion我有一个json原始字符串{"id":"xxx","person":{"id":"yyy","name":"abc"},"box":{"id":"zzz"}}我想在不影响内部“id”字段的情况下,将根目录中的字段“id”重命名为“uuid”。我该怎么做?

regex - Go 中跨越多行的正则表达式

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion在Go中是否可以使用多行来打破复杂的正则表达式?这将有助于创建更具可读性的代码。例如在Scala、Ruby、JavaScript中可以使用x标志:x—自由间距和行注释(又名扩展模式)它允许编写如下正则表达式:TAXON_CONCEPTS2=/\s+(\(?s\.\s?s\.|\(?s\.\s?l\.|\(?s\.\s?str\.|\(?s\.\s?lat\.|sec\.|sec|near)

正则表达式结束修饰符不在 Go 程序中返回结果

我有一个简单的Go程序来帮助学习正则表达式。它在无限循环中运行并有2个channel,一个用于提供输入(输入包含正则表达式模式和主题),第二个channel提供输出。usage:main.exe(cat)+catcatdog但是代码中可能有问题,因为我似乎无法使用$修饰符获得任何结果。例如,我希望输出“cat”main.execat$cat\ndog但收到零结果。代码:packagemainimport("fmt""regexp""bufio""os""strings")typeRegexRequeststruct{regexstringsubjectstring}funcmain()

regex - Golang 正则表达式匹配字符串直到给定的字符序列

我有一个字符串,可以有一个-name后跟值(可以有空格),也可以有-descr后跟一个值(-descr后跟值可能不存在):示例字符串:runcmd-nameabcdxyz-descrabcdef或runcmd-nameabcdxyz使用Go语言,我该如何编写正则表达式,它会返回-descr之前的字符串(如果它存在)。所以,对于上面的两个例子,结果应该是:runcmd-nameabcdxyz我在尝试:regexp.MustCompile(`(-name).+?=-descr`)但是,那没有返回任何匹配项。我想知道正确的正则表达式来获取字符串直到-descr如果它存在

regex - IPv4 正则表达式捕获地址的不正确部分

这个问题在这里已经有了答案:Matchexactstring(3个答案)关闭3年前。我正在尝试编写一个程序,从终端输入中打印IPv4地址的无效部分。这是我的代码:packagechapter4import("bufio""fmt""os""regexp""strings""time")funcIPV4(){varf*os.Filef=os.Stdindeferf.Close()scanner:=bufio.NewScanner(f)fmt.Println("Exercise1,Chapter4-DetectingincorrectpartsofIPv4Addresses,enteran

json - 如何替换 json 字符串和正则表达式中的双引号?

如何替换json字符串和正则表达式中的双引号?输入Json是:"RegDateTime":1481641851263,"Code":"123213",....输出应该是:"RegDateTime":"1481641851263","Code":"123213",....我只想修复RegDateTime的json键值。请建议任何正则表达式并用go语言中的双引号替换。 最佳答案 funcReplaceAllNumber(jsonstring)(string){re:=regexp.MustCompile("(:\\s*)(\\d+)(\

regex - 从正则表达式构造字符串

我试图找到一种方法来从具有给定interface{}数组的已编译*regexp.Regexp构造string数据.例如:re:=regexp.MustCompile(`(?P\w+)\s*(?P\d+)`)我想通过string和int数据从re中找到的结构构造一个string可以作为接口(interface){}接收。不知道如何在Go中做到这一点。请帮帮我。提前致谢。 最佳答案 这样的库,常被称为Xeger,存在于许多语言中,包括go。然而,这个叫做regen:这是一个从Go/RE2正则表达式生成随机字符串的工具。这是一个例子:$r

regex - 在正则表达式替换字符串中转义美元符号

我有一个函数需要用“$ball”替换“byte”。这似乎无法正常工作。这是程序片段。funmain(){str:=[]byte("$appleinabyte\n")strReplace:="$ball"re:=regexp.MustCompile("byte")final:=re.ReplaceAll(str,[]byte(strReplace))ioutil.WriteFile("testfile.txt",final,0744)}testfile.txt中的预期输出:$球中的$苹果testfile.txt中的实际输出:$苹果在一个是否有任何成功获得所需输出的解决方案?

regex - 如何使用正则表达式提取网站的确切名称?

这是为了提取任何com或org网站,其中www.是可选的。这是否使http://成为必须,而且我也无法理解[^.]+的含义。^http://(?:www\.)?[^.]+\.(com|org)/.*$我想要一个特定的网站,即:^http://(?:www\.)?yahoo+\.(com|org)/.*$谢谢 最佳答案 请使用“net/url”包。它有Hostname()允许您从任何url中提取主机名称的方法。在您的情况下[^.]表示除点之外的任何符号。括号定义符号类。Plusafter表示这个类之后的一个或多个符号。您可以将正则表达