ADDED: * Better docs for remap * Added returner convenience funcs for remap FIXED: * Proper resliced remap.ReMap.MapString
114 lines
1.7 KiB
Go
114 lines
1.7 KiB
Go
package remap
|
|
|
|
import (
|
|
"regexp"
|
|
)
|
|
|
|
/*
|
|
Compile is a convenience shorthand for:
|
|
|
|
var err error
|
|
var r *remap.ReMap = new(remap.ReMap)
|
|
|
|
if r.Regexp, err = regexp.Compile(expr); err != nil {
|
|
// ...
|
|
}
|
|
|
|
It corresponds to [regexp.Compile].
|
|
*/
|
|
func Compile(expr string) (r *ReMap, err error) {
|
|
|
|
var p *regexp.Regexp
|
|
|
|
if p, err = regexp.Compile(expr); err != nil {
|
|
return
|
|
}
|
|
|
|
r = &ReMap{
|
|
Regexp: p,
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
/*
|
|
CompilePOSIX is a convenience shorthand for:
|
|
|
|
var err error
|
|
var r *remap.ReMap = new(remap.ReMap)
|
|
|
|
if r.Regexp, err = regexp.CompilePOSIX(expr); err != nil {
|
|
// ...
|
|
}
|
|
|
|
It corresponds to [regexp.CompilePOSIX].
|
|
*/
|
|
func CompilePOSIX(expr string) (r *ReMap, err error) {
|
|
|
|
var p *regexp.Regexp
|
|
|
|
if p, err = regexp.CompilePOSIX(expr); err != nil {
|
|
return
|
|
}
|
|
|
|
r = &ReMap{
|
|
Regexp: p,
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
/*
|
|
MustCompile is a convenience shorthand for:
|
|
|
|
var r *remap.ReMap = &remap.ReMap{
|
|
Regexp: regexp.MustCompile(expr),
|
|
}
|
|
|
|
It corresponds to [regexp.MustCompile].
|
|
*/
|
|
func MustCompile(expr string) (r *ReMap) {
|
|
|
|
var err error
|
|
var p *regexp.Regexp
|
|
|
|
// We panic ourselves instead of wrapping regexp.MustCompile.
|
|
// Makes debuggers a little more explicit.
|
|
if p, err = regexp.Compile(expr); err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
r = &ReMap{
|
|
Regexp: p,
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
/*
|
|
MustCompilePOSIX is a convenience shorthand for:
|
|
|
|
var r *remap.ReMap = &remap.ReMap{
|
|
Regexp: regexp.MustCompilePOSIX(expr),
|
|
}
|
|
|
|
It corresponds to [regexp.MustCompilePOSIX].
|
|
*/
|
|
func MustCompilePOSIX(expr string) (r *ReMap) {
|
|
|
|
var err error
|
|
var p *regexp.Regexp
|
|
|
|
// We panic ourselves instead of wrapping regexp.MustCompilePOSIX.
|
|
// Makes debuggers a little more explicit.
|
|
if p, err = regexp.CompilePOSIX(expr); err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
r = &ReMap{
|
|
Regexp: p,
|
|
}
|
|
|
|
return
|
|
}
|