Golang | Verificando el byte del segmento para la expresión regular especificada

Una expresión regular es una secuencia de caracteres que define un patrón de búsqueda. El lenguaje Go admite expresiones regulares. Una expresión regular se usa para analizar, filtrar, validar y extraer información significativa de texto grande, como registros, la salida generada de otros programas, etc.
En Go regexp, puede verificar si el byte de segmento dado contiene alguna coincidencia de el patrón de expresión regular especificado con la ayuda de la función Match() . Esta función se define en el paquete regexp, por lo que para acceder a este método necesita importar el paquete regexp en su programa.

Sintaxis:

func Match(p string, s []byte) (result bool, err error)

Aquí, p representa el patrón y s representa una porción de bytes. Esta función devuelve verdadero si el patrón coincide o devuelve falso si el patrón no coincide. Y también devolver un error si se encuentra.

Ejemplo 1:

// Go program to illustrate how to check
// the given regexp present in the given slice
package main
  
import (
    "fmt"
    "regexp"
)
  
// Main function
func main() {
  
    // Creating and initializing
    // slice of bytes
    // Using shorthand declaration
    s1 := []byte{'G', 'E', 'E', 'K', 'S', 'F', 'O',
                      'R', 'G', 'E', 'E', 'K', 'S'}
      
    s2 := []byte{'g', 'f', 'g'}
  
    // Pattern
    p1 := "G"
    p2 := "g"
    p3 := "^^"
    p4 := "@"
  
    // Matching pattern
    // Using Match() function
    res1, e := regexp.Match(p1, s1)
    fmt.Println("Result and Error is:", res1, e)
  
    res2, e := regexp.Match(p2, s1)
    fmt.Println("Result and Error is:", res2, e)
  
    res3, e := regexp.Match(p3, s1)
    fmt.Println("Result and Error is:", res3, e)
  
    res4, e := regexp.Match(p4, s1)
    fmt.Println("Result and Error is:", res4, e)
  
    res5, e := regexp.Match(p1, s2)
    fmt.Println("Result and Error is:", res5, e)
  
    res6, e := regexp.Match(p2, s2)
    fmt.Println("Result and Error is:", res6, e)
  
    res7, e := regexp.Match(p3, s2)
    fmt.Println("Result and Error is:", res7, e)
  
    res8, e := regexp.Match(p4, s2)
    fmt.Println("Result and Error is:", res8, e)
  
}

Producción:

Result and Error is: true <nil>
Result and Error is: false <nil>
Result and Error is: true <nil>
Result and Error is: false <nil>
Result and Error is: false <nil>
Result and Error is: true <nil>
Result and Error is: true <nil>
Result and Error is: false <nil>

Ejemplo 2:

// Go program to illustrate how to check
// the given regexp present in the given slice
package main
  
import (
    "fmt"
    "regexp"
)
  
// Main function
func main() {
  
    // Matching pattern in the
    // given slice of bytes
    // Using Match() function
    res1, e := regexp.Match(`eks`, []byte(`GeeksforGeeks`))
    fmt.Println(res1, e)
  
    res2, e := regexp.Match(`BAN`, []byte(`Banana`))
    fmt.Println(res2, e)
  
    res3, e := regexp.Match(`123`, []byte(`GeeksforGeeks`))
    fmt.Println(res3, e)
  
    res4, e := regexp.Match(`e(ks`, []byte(`GeeksforGeeks`))
    fmt.Println(res4, e)
  
}

Producción:

true <nil>
false <nil>
false <nil>
false error parsing regexp: missing closing ): `e(ks`

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *