Golang regex

Golang regex
La expresión regular, comúnmente conocida como regex, es una secuencia de caracteres que definen y rigen los patrones de búsqueda que coinciden con una cadena específica. Las expresiones regulares son una herramienta muy útil cuando se trabaja con datos de texto.

Este artículo explorará cómo trabajar con la expresión regular en el lenguaje de programación GO utilizando el paquete Build Regexp.

Paquete Golang Regexp

El paquete Golang regex le proporciona métodos y herramientas para buscar, filtrar, reemplazar, validar y extraer cadenas utilizando expresiones regulares.

Para usar este paquete, necesitamos importarlo como:

importar "regexp"

Para definir patrones de expresión regulares, podemos usar algunos patrones predefinidos como se muestra en la tabla a continuación:

Patrón Descripción
. Coincidir con cualquier personaje
[a B C] Match A, B o C
\s Coincidir con un personaje de espacio blanco. \ t \ n \ f \ r
[C.A] Cualquier personaje de A a C
[^ABC] Negar y coincidir con todos los personajes excepto A, B y C
\ W Coincidir con un personaje de palabra
A | B Operador alternativo. A o B, prefiere un
[A-Z0-9] Coincidir con cualquier personaje de A a Z o 0 a 9
\d Haga coincidir cualquier dígito entre 0 y 9
^ Al comienzo de un texto o línea
? Coincidir con el personaje anterior solo una vez
+ Coincidir con el personaje anterior una o varias veces
* Coincidir con el personaje anterior 0 o varias veces
ps Coincidir al final del texto

Método findString ()

El método findString () devuelve la subcadena de la izquierda que coincide con un patrón especificado. Si no se encuentra una coincidencia, la función devuelve una cadena vacía.

Un código de ejemplo es como se muestra:

empacador
importar (
"FMT"
"Regexp"
)
funcmain ()
Re: = regexp.MustCompile ("f ([a-z]+) t")
fmt.Println (RE.Findstring ("fruta"))
fmt.Println (RE.FindString ("Fit"))
fmt.Println (RE.Findstring ("falso"))
fmt.Println (RE.Findstring ("fe"))
fmt.Println (RE.FindString ("Fix"))

En el ejemplo anterior, usamos el método MustCompile para compilar el patrón de expresión regular en una estructura regexual optimizada.

Luego, usamos el método FindString () para devolver las cadenas coincidentes. El código anterior debería devolver:

fruta
adaptar
fait

Nota: La función devuelve cadenas vacías si no hay coincidencia.

Método findStringIndex ()

Este método devuelve el índice de inicio y finalización de la subcadena más a la izquierda coincidente por una expresión regular especificada.

Ejemplo:

empacador
importar (
"FMT"
"Regexp"
)
funcmain ()
Re: = regexp.MustCompile ("f ([a-z]+) t")
fmt.Println (RE.FindStringIndex ("fruta"))

El código anterior debe devolver el índice de la subcadena coincidente. En nuestro ejemplo, el código regresa del índice 0 a 5:

$ Go Run Regex.ir
[0 5]

Método reemplazar ()

El método ReplaceAllString () se utiliza para reemplazar el texto que coincide con un patrón específico. Devuelve la copia y reemplaza todas las cadenas coincidentes.

Podemos ilustrar este método utilizando el siguiente código:

empacador
importar (
"FMT"
"Regexp"
)
funcmain ()
Re: = regexp.MustCompile ("f ([a-z]+) t")
fmt.Printf ("%q \ n", re.Reemplazar ("fruta", "comida"))

El código anterior debe reemplazar la cadena coincidente con el valor especificado. Dado que la cadena completa coincide con el patrón especificado, la función reemplaza a todos los caracteres.

Método Split ()

Podemos dividir una cadena usando el método Split () y el patrón especificado. Un código de ejemplo es como se muestra:

empacador
importar (
"FMT"
"Regexp"
)
funcmain ()
Re: = regexp.MustCompile ("U")
fmt.Printf ("%q \ n", re.Dividir ("fruta", -1))
fmt.Printf ("%q \ n", re.Split ("Jueves", -2))
fmt.Printf ("%q \ n", re.Dividir ("función", 2))

El código anterior define una expresión regular que coincida con un solo carácter. Luego usamos el método dividido para dividir la cadena proporcionada en varias subcadenas donde coincide el patrón.

La salida resultante es como se muestra:

$ Go Run Regex.ir
["fr" "it"]
["th" "rsday"]
["f" "nction"]

Conclusión

Este tutorial ilustra cómo comenzar con la expresión regular en la programación GO usando el paquete regexp. Además, se discutieron varios métodos para determinar la opción correcta para sus necesidades. Consulte otros artículos de indicio de Linux y la documentación para obtener más consejos.