Regex 如何使用正则表达式在golang中获得括号内的所有内容
我试图在golang正则表达式中获取以下sql语句外括号内的所有内容Regex 如何使用正则表达式在golang中获得括号内的所有内容,regex,go,Regex,Go,我试图在golang正则表达式中获取以下sql语句外括号内的所有内容 Categories (// = outside bracket PersonID int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255) )//=outside bracket 如何使用正则表达式仅识别外括号并返回外括号之间的所有内容?您只需找到第一个(,然后将所有字符匹配到最后一个) `(?s)
Categories
(// = outside bracket
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)//=outside bracket
如何使用正则表达式仅识别外括号并返回外括号之间的所有内容?您只需找到第一个
(
,然后将所有字符匹配到最后一个)
`(?s)\((.*)\)`
详细信息:
-允许(?s)
匹配任何字符,包括换行符
-文字\(
字符)(
-子匹配1捕获任何零个或多个字符(.*)
-文字符号\)
)
也许
`s\(.*)`
就是您所需要的。谢谢它的工作,您现在如何删除外括号[(…)]
为什么要删除它们?只需访问第一个子比赛。有道理,谢谢!
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])
}