Added 'mustCompile' which panicks if there is an error compiling
This commit is contained in:
@@ -1110,10 +1110,11 @@ func thompson(re []postfixNode) (Reg, error) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compiles the given regular expression into a Reg type, suitable for use with the
|
// Compile compiles the given regular expression into a [Reg].
|
||||||
// matching functions. The second return value is non-nil if a compilation error has
|
//
|
||||||
// occured. As such, the error value must be checked before using the Reg returned by this function.
|
// An error value != nil indicates that the regex was invalid; the error message should provide
|
||||||
// The second parameter is an optional list of flags, passed to the parsing function shuntingYard.
|
// detailed information on the nature of the error.
|
||||||
|
// The second parameter is a sequence of zero or more [ReFlag] values, that modify the behavior of the regex.
|
||||||
func Compile(re string, flags ...ReFlag) (Reg, error) {
|
func Compile(re string, flags ...ReFlag) (Reg, error) {
|
||||||
nodes, err := shuntingYard(re, flags...)
|
nodes, err := shuntingYard(re, flags...)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -1125,3 +1126,12 @@ func Compile(re string, flags ...ReFlag) (Reg, error) {
|
|||||||
}
|
}
|
||||||
return reg, nil
|
return reg, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MustCompile panicks if Compile returns an error. They are identical in all other respects.
|
||||||
|
func MustCompile(re string, flags ...ReFlag) Reg {
|
||||||
|
reg, err := Compile(re, flags...)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
return reg
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user