Python - regex

 
Vista:

regex

Publicado por Caterina (1 intervención) el 13/11/2018 01:57:12
Quiero crear un regex en Python que me haga return True si greetings incluye las letras a,A,l,L,c o C. He hecho esto pero no me funciona. Es mi primer regex. Gracias por la ayuda!

1
2
3
4
5
6
7
8
import re
def validate_hello(greetings):
    regex = ["a","A","l","L","c","C"]
    match = re.match(regex, greetings)
    if match:
        return True
    else:
        return False
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 23
Ha disminuido su posición en 3 puestos en Python (en relación al último mes)
Gráfica de Python

regex

Publicado por Cesar (9 intervenciones) el 13/11/2018 02:02:11
Hola.

Lo que estas poniendo es un arreglo, no una expresion regular.

No soy muy bueno con expresiones regulares, pero tienes que colocar algo parecido a esto:

1
^[aAILcC]+$

Es decir, te falta el signo de control al principio, el peso al final, y no lleva comas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

regex

Publicado por tincopasan (1082 intervenciones) el 13/11/2018 04:31:44
podés probar algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
#-*- coding: utf -8 -*-
import re
def validate_hello(greetings):
    regex = re.compile(r"[aAlLcC]" )  #compilar el patrón
    match = regex.match(greetings) #fijate que cambié la declaración,obvio la coincidencia es solo al principio
    if match:
        return True
    else:
        return False
 
 
print(validate_hello("Buenas Noches"))
print(validate_hello("Adiós"))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar