pattern online example escape python regex string-matching

python - online - Verificar si la cadena coincide con el patrón



python regex replace (6)

¿Cómo puedo verificar si una cadena coincide con este patrón?

Letra mayúscula, número (s), letra mayúscula, número (s) ...

Ejemplo, estos coincidirían:

A1B2 B10L1 C1N200J1

Estos no (''^'' apunta al problema)

a1B2 ^ A10B ^ AB400 ^


Por favor intenta lo siguiente:

import re name = ["A1B1", "djdd", "B2C4", "C2H2", "jdoi","1A4V"] # Match names. for element in name: m = re.match("(^[A-Z]/d[A-Z]/d)", element) if m: print(m.groups())


las expresiones regulares hacen esto fácil ...

[AZ] coincidirá exactamente con un personaje entre A y Z

/d+ coincidirá con uno o más dígitos

() agrupan cosas (y también devuelven cosas ... pero por ahora solo piensen en agruparlas)

+ selecciona 1 o más


One-liner: re.match(pattern, string) # No need to compile

import re >>> if re.match(''hello[0-9]+'', ''hello1''): ... print(''Yes'') ... Yes

Y si no está usando en el contexto de if o entonces, entonces debe evaluarlo con la función bool

>>> bool(re.match(''hello[0-9]+'', ''hello1'')) True

Sin embargo, sería increíble si la clase de cadenas de Python contiene un método como este.

>>> ''hello123''.regex(''hello[0-9]+'') True


import re ab = re.compile("^([A-Z]{1}[0-9]{1})+$") ab.match(string)


Creo que debería funcionar para un patrón numérico en mayúsculas .


import re import sys prog = re.compile(''([A-Z]/d+)+'') while True: line = sys.stdin.readline() if not line: break if prog.match(line): print ''matched'' else: print ''not matched''


import re pattern = re.compile("^([A-Z][0-9]+)+$") pattern.match(string)