¿Cómo realizar validaciones mediante expresiones regulares?
Las expresiones regulares pueden permiten para validar los datos de entrada de un programa. Para esto existen dos funciones que pueden ayudar en el proceso.
- Compile que retorna un error cuando la expresión regular no se puede compilar.
- MustCompile que ejecuta un panic cuando la expresión regular no se puede compilar.
Se puede utilizar cualquiera de los dos, según se desee, sin embargo MustCompile suele ser la opción predilecta debido a que requiere menos líneas de código.
re := regexp.MustCompile(^[0-9]{4}(-[0-9]{2}){2} [0-9]{2}(:[0-9]{2}){2}$)
package main
import (
"fmt"
"regexp"
)
func main() {
// expresion regular
re := regexp.MustCompile("^[0-9]{4}(-[0-9]{2}){2} [0-9]{2}(:[0-9]{2}){2}$")
// validar diferentes valores
fmt.Println(re.MatchString("19-01-01 00:00:00"))
fmt.Println(re.MatchString("2019-01-01 00:00:AA"))
fmt.Println(re.MatchString("2019-01-01 00:00:00"))
}
Al ejecutar el programa obtenemos.
false
false
true