首页 > 文章列表 > Go语言正则表达式:如何提取括号中的内容?

Go语言正则表达式:如何提取括号中的内容?

445 2025-04-10

Go语言正则表达式:如何提取括号中的内容?

Go语言正则表达式:高效提取括号中的内容(不包含括号)

本文介绍如何在Go语言中使用正则表达式提取括号内的内容,同时排除括号本身。

针对包含括号的字符串,例如“(内容)”或“(内容)”,我们可以使用如下正则表达式:

regexp.MustCompile(`(([^)]+))`).FindStringSubmatch(text)[1]

代码详解:

  • (: 匹配左括号 (
  • ([^)]+): 这是一个捕获组,[^)]+ 匹配一个或多个非右括号的字符。这部分是我们要提取的内容。
  • ): 匹配右括号 )

这个正则表达式将整个括号内容作为一个匹配,并把括号内的内容作为捕获组提取出来。FindStringSubmatch 函数返回一个字符串数组,数组的第一个元素是整个匹配,第二个元素是第一个捕获组(即括号内的内容)。我们取数组的第二个元素 [1] 即为提取的结果。

请注意,此方法假设括号是成对出现的,并且括号内不包含嵌套括号。 如果需要处理更复杂的括号嵌套情况,则需要使用更复杂的正则表达式或其他字符串处理方法。

来源:1740018027