A regular expression is a sequence of characters which define a search pattern. Go language support regular expressions. A regular expression is used for parsing, filtering, validating, and extracting meaningful information from large text, like logs, the output generated from other programs, etc.
In Go regexp, you are allowed to replace original string with another string if the specified string matches with the specified regular expression with the help of ReplaceAllString() method. In this method, $ sign means interpreted as in Expand like $1 indicates the text of the first submatch. This method is defined under the regexp package, so for accessing this method you need to import the regexp package in your program.
Syntax:
func (re *Regexp) ReplaceAllString(str, r string) string
Example 1:
package main
import (
"fmt"
"regexp"
)
func main() {
m1 := regexp.MustCompile(`x(p*)y`)
fmt.Println(m1.ReplaceAllString( "xy--xpppyxxppxy-" , "B" ))
fmt.Println(m1.ReplaceAllString( "xy--xpppyxxppxy--" , "$1" ))
fmt.Println(m1.ReplaceAllString( "xy--xpppyxxppxy-" , "$1P" ))
fmt.Println(m1.ReplaceAllString( "xy--xpppyxxppxy-" , "${1}Q" ))
}
|
Output:
B--BxxppB-
--pppxxpp--
--xxpp-
Q--pppQxxppQ-
Example 2:
package main
import (
"fmt"
"regexp"
)
func main() {
s := "Geeks-for-Geeks-for-Geeks-for-Geeks-gfg"
m := regexp.MustCompile( "^(.*?)Geeks(.*)$" )
Str := "${1}GEEKS$2"
res := m.ReplaceAllString(s, Str)
fmt.Println(res)
}
|
Output:
GEEKS-for-Geeks-for-Geeks-for-Geeks-gfg