How to Extract Regular Expression in Go language?
How to extract all regular expression matches from string with Go language?
In this tutorial, we will create a program in Go language to extract all matching regular expression from a provided string. We are going to use standard packages from Go languages library;
Import required packages (Golang):
fmt- Implement formatted input output in Go.regexp- This package allows us to search using regular expressions.
package main
import (
"fmt"
"regexp"
)Extract regex from string
Let's declare a variable containing the string to extract regex from.
func main() {
str := "echo $((1+2)) $((?)))"
}Now, we can use the regex package with MustCompile() function to define a regular expression. (assign a varible for further use and easy reading)
re := regexp.MustCompile(`\$\(\((.*?)\)\)`)To extract all regular expression matches from a string a store that into a list varible use FindAllStringSubmatch(string. int) with the assign variable.
command := re.FindAllStringSubmatch(str, -1)We can use a for loop to go through all matched patterns.
for i := range command {
fmt.Println("Match found :", command[i][1])
}Take a look at the final code:
package main
import (
"fmt"
"regexp"
)
func main() {
str := "echo $((1+2)) $((?)))"
re := regexp.MustCompile(`\$\(\((.*?)\)\)`)
command := re.FindAllStringSubmatch(str, -1)
for i := range command {
fmt.Println("Message :", command[i][1])
}
}









