Go Package regexp: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 36: Line 36:
===<tt>regexp.MatchString()</tt>===
===<tt>regexp.MatchString()</tt>===
* <tt>[https://golang.org/pkg/regexp/#MatchString regexp.MatchString()]</tt>
* <tt>[https://golang.org/pkg/regexp/#MatchString regexp.MatchString()]</tt>
<syntaxhighlight lang=go>
var regex = regexp.MustCompile("^[_a-zA-Z][_a-zA-Z0-9]*$")
[...]
if regex.MatchString(s) {
  ...
}
</syntaxhighlight>


==Replacement==
==Replacement==

Revision as of 19:18, 29 April 2024

External

Internal

Overview

import (
	"regexp"
)

var someRegexp *regexp.Regexp
someRegexp = regexp.MustCompile("(\\D+)(\\d+),(\\d)")

groups := someRegexp.FindSubmatch([]byte(s))
if groups == nil {
  // no match 
  ...
}

entireString := groups[0]
firstGroup := groups[1]
secondGroup := groups[2]
thirdGroup := groups[3]

Functions

Matching

regexp.MatchString()

var regex = regexp.MustCompile("^[_a-zA-Z][_a-zA-Z0-9]*$")
[...]
if regex.MatchString(s) {
  ...
}

Replacement

Needs a Regexp instance.

regexp.ReplaceAllString()

func (re *Regexp) ReplaceAllString(src, repl string) string

There is a strings.Replace(...) function, but it does not take regular expressions.

TODO