gpt4 book ai didi

regex - 如何使用正则表达式在 golang 的括号内获取所有内容

转载 作者:IT王子 更新时间:2023-10-29 01:39:00 33 4
gpt4 key购买 nike

我试图在 golang 正则表达式中获取以下 sql 语句外括号内的所有内容。

Categories
(// = outside bracket
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)//=outside bracket

我如何使用正则表达式来仅识别外括号并返回外括号之间的所有内容?

最佳答案

您只需要找到第一个 (,然后匹配直到最后一个 ) 的所有字符

`(?s)\((.*)\)`

详细信息:

  • (?s) - 允许 . 匹配任何字符,包括换行符
  • \( - 文字 ( 字符
  • (.*) - 子匹配 1 捕获任意零个或多个字符
  • \) - 文字 ) 符号。

参见 Go demo :

package main

import (
"fmt"
"regexp"
)

func main() {
s := `Categories
(// = outside bracket
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)//=outside bracket`
re := regexp.MustCompile(`(?s)\((.*)\)`)

m := re.FindAllStringSubmatch(s,-1)
fmt.Printf("Capture value: %s", m[0][1])
}

关于regex - 如何使用正则表达式在 golang 的括号内获取所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39488210/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com