# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"<p><strong>PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR:<\/strong>\r?\n((?:(?!<p><strong>)^[^\r\n]+\r?\n)+)"
test_str = ("<p><strong>ROGELIO JIMÉNEZ PONS:</strong> Quisiera\n"
"<p>Text here...</p>\n"
"<p><strong>PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR:</strong>\n"
"<p>Text here...</p>\n"
"<p>Text here...</p>\n"
"<p><strong>PREGUNTA:</strong>\n"
"<p>Text here...</p>\n"
"<p><strong>PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR:</strong>\n"
"<p>Y la información específica la vamos a difundir a través de una página en internet, que es: www.participacionsocial.gob.mx, en su momento vamos a establecer ahí la metodología que se va a utilizar para determinar la ubicación de los módulos,\n"
" el número de boletas, la forma de identificación de las personas participantes y esa metodología va a explicar los criterios como la población, el padrón, la accesibilidad y la viabilidad de todo esto.</p>\n"
" <p>También vamos a poner toda la información del proyecto para que cualquier persona pueda consultarla y de esta manera ir fortaleciendo también toda la cuestión de la transparencia y rendición de cuentas que hemos llevado a cabo en todos los\n"
" procesos de consulta y ejercicios participativos durante este año de gobierno.</p>\n"
" <p>Gracias.</p>\n"
" <p>Ahora, vamos a escuchar a Adelfo Regino con el tema de las consultas indígenas.</p>\n"
"<p><strong>INTERLOCUTOR:</strong>\n"
"<p>Text here...</p>\n"
"<p>Text here...</p>\n"
"<p><strong>PRESIDENTE ANDRÉS MANUEL LÓPEZ OBRADOR:</strong>\n"
"<p>Text here...</p>\n"
"<p>Text here...</p>\n"
"<p>Text here...</p>\n"
"<p>Text here...</p>\n"
"<p>Text here...</p>\n"
"<p><strong>INTERLOCUTOR:</strong>\n")
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