您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

获取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比赛.*?\)

\) 匹配文字 )

去游乐场演示

Go 2022/1/1 18:22:48 有315人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶