获取Golang正则表达式中括号内的所有子字符串

utlamn:

我想使用Regex获取所有括号内的所有子字符串。

作为字符串“ foo(bar)foo(baz)golang”的示例,我想要“ bar”和“ baz”

在python中我可以做 re.findall("(?<=\()[^)]+(?=\))", "foo(bar)foo(baz)golang")

怎么做呢?

血红素:

goregexp软件包不支持零宽度环顾。您可以通过以下regexp.FindAllStringSubmatch()功能利用捕获的分组

package main

import (
    "regexp"
    "fmt"
)

func main() {
    str := "foo(bar)foo(baz)golang"
    rex := regexp.MustCompile(`\(([^)]+)\)`)
    out := rex.FindAllStringSubmatch(str, -1)

    for _, i := range out {
        fmt.Println(i[1])
    }
}

输出:

bar
baz

正则表达式\(([^)]+)\)

  • \( 匹配文字 (

  • ([^)]+)匹配串高达旁边),并把比赛以捕获组,在这里你可以使用非greeedy比赛.*?\)

  • \) 匹配文字 )


去游乐场演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

正则表达式以获取Java括号中的字符串

如何获取给定正则表达式的所有子字符串?

正则表达式以匹配字符串值并替换golang中的所有匹配项

查找与正则表达式golang匹配的所有字符串

Golang正则表达式在括号内获取值

Golang编译了正则表达式,以删除字符串中的@以及@之后的所有内容

使用正则表达式替换子字符串的所有奇数出现

前括号(包括内括号)之间的Javascript正则表达式字符串

如何使用正则表达式获取连续方括号中包含元素的字符串的子字符串?

正则表达式以找到%PHP中的所有子字符串

如何使用正则表达式替换所有出现的子字符串?

使用javascript正则表达式从字符串中获取除连字符和方括号外的所有字符

python / pandas:使用正则表达式删除字符串中方括号中的所有内容

正则表达式:查找文本中的所有子字符串

正则表达式在子字符串之前捕获所有

使用正则表达式提取指定符号之间的所有子字符串

如何使用正则表达式替换花括号中的所有子字符串?

正则表达式获取除括号之间的字符串以外的所有内容

正则表达式模式以获取所有可读ascii的子字符串

正则表达式以匹配括号或括号内的字符串中的数字

正则表达式匹配方括号内大括号内的字符串

正则表达式用于获取括号内的多个字符串

查找所有字符串的正则表达式是在Java中以$开头的正则表达式

使用正则表达式获取括号内的字符串,删除括号

红宝石中的正则表达式,用于获取字符串中的所有元音

匹配正则表达式的所有可能的子字符串

Javascript正则表达式-获取带有方括号[]的所有字符串

需要正则表达式来查找特定模式的所有子字符串

正则表达式查找带引号的字符串中的所有大括号