"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo emular grupos de captura en expresiones regulares de Go?

¿Cómo puedo emular grupos de captura en expresiones regulares de Go?

Publicado el 2025-02-27
Navegar:170

How Can I Emulate Capturing Groups in Go Regular Expressions?

capturando grupos en expresiones regulares

en Go, las expresiones regulares utilizan la biblioteca RE2, que carece de apoyo nativo para capturar grupos como se encuentran en Ruby y otros idiomas. Sin embargo, hay una solución para emular esta funcionalidad.

para lograr el comportamiento deseado, uno debe agregar "P" al nombre de grupo, como se ilustra en la siguiente expresión actualizada:

(?P\d{4})-(?P\d{2})-(?P\d{2})

Considere el siguiente ejemplo:

Main importar ( "FMT" "Regexp" ) func Main () { R: = Regexp.MustCompile (`(? P \ d {4})-(? P \ d {2})-(? P \ D {2})`) fmt.printf ("%#V \ n", R.FindstringSubmatch (`2015-05-27`)) fmt.printf ("%#v \ n", r.subexpnames ()) }

package main

import (
    "fmt"
    "regexp"
)

func main() {
    r := regexp.MustCompile(`(?P\d{4})-(?P\d{2})-(?P\d{2})`)
    fmt.Printf("%#v\n", r.FindStringSubmatch(`2015-05-27`))
    fmt.Printf("%#v\n", r.SubexpNames())
}

[] string {"2015", "05", "27"} [] cadena {"", "año", "mes", "día"}

[]string{"2015", "05", "27"}
[]string{"", "Year", "Month", "Day"}
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3