Go Package regexp: Difference between revisions
Jump to navigation
Jump to search
(3 intermediate revisions by the same user not shown) | |||
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== | ||
Needs a Regexp instance. | |||
===<tt>regexp.ReplaceAllString()</tt>=== | ===<tt>regexp.ReplaceAllString()</tt>=== | ||
<syntaxhighlight lang='go'> | <syntaxhighlight lang='go'> | ||
func (re *Regexp) ReplaceAllString(src, repl string) string | func (re *Regexp) ReplaceAllString(src, repl string) string | ||
</syntaxhighlight> | </syntaxhighlight> | ||
There is a <code>[[Go_Strings#Replace()|strings.Replace(...)]]</code> function, but it does not take regular expressions. | |||
==Groups== | |||
=TODO= | =TODO= | ||
* https://blog.logrocket.com/deep-dive-regular-expressions-golang/ | * https://blog.logrocket.com/deep-dive-regular-expressions-golang/ | ||
* https://gobyexample.com/regular-expressions | * https://gobyexample.com/regular-expressions |
Latest revision as of 01:00, 6 September 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.