# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"^[A-Za-z\u00C1\u00C9\u00CD\u00D3\u00DA\u00DC\u00E1\u00E9\u00ED\u00F3\u00FA\u00FC\u00D1\u00F1]{1}[A-Za-z0-9\u00C1\u00C9\u00CD\u00D3\u00DA\u00DC\u00E1\u00E9\u00ED\u00F3\u00FA\u00FC\u00D1\u00F1\,\;\:\.@\#\$\%\&\* \-]+$"
test_str = ("Éste es un regular expression creado para validar oraciones con caracteres de oraciones escritas en español. Puede ser utilizado para validar oraciones con vocales con acentos áéíóú, ÁÉÍÓÚ y u con diéresis Üü. No valida enters o líneas múltiples y tampoco oraciones con un espacio en el principio... por ejemplo. Aqui de romple la línea y se crea otra oración que parea con el regular expression...\n\n"
"ésta es la nueva línea.\n\n"
"El guión - es otro caracter que está permitido en el regular expression, y las comas , como pueden ver también. Ojo, de la misma manera que no se permite el uso del espacio al inicio de una oración tampoco se permite el uso de comas , o quipnes al inigio de la oración ejemplos que no parean con el regexp a continuación...\n\n"
"- esta oracion no hace match\n"
" ésta oración tampoco hace match\n"
", ésta oración tampoco\n"
"por el con trario... ésta - otra horación sí parea con el regex.\n\n"
"José Manuel Rivera\n\n"
"El güiro mágico\n\n"
"La máquina de guerra.\n\n"
"ÁÉÍÓÚÜ áéíóúü\n\n"
"para que éste regex paree con párrafos, dene modificarlo cambiando el match del espacio por el scape character de los end of lines\n"
" - \\s.\n\n"
"De esa manera el RegExp. parea con parrafos y multiples lineas igual que con tabs y otros tipos de end of line characters.")
matches = re.finditer(regex, test_str, re.MULTILINE)
for matchNum, match in enumerate(matches, start=1):
print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum in range(0, len(match.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html