# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"^[\s\S]*?(?=\n{2,})"
test_str = ("The War of the Worlds\n"
"10-10-2020\n\n"
"I.\n"
"THE EVE OF THE WAR.\n\n"
"No one would have believed in the last years of the nineteenth century\n"
"that this world was being watched keenly and closely by intelligences\n"
"greater than man’s and yet as mortal as his own; that as men busied\n"
"themselves about their various concerns they were scrutinised and\n"
"studied, perhaps almost as narrowly as a man with a microscope might\n"
"scrutinise the transient creatures that swarm and multiply in a drop of\n"
"water. With infinite complacency men went to and fro over this globe\n"
"about their little affairs, serene in their assurance of their empire\n"
"over matter. It is possible that the infusoria under the microscope do\n"
"the same. No one gave a thought to the older worlds of space as sources\n"
"of human danger, or thought of them only to dismiss the idea of life\n"
"upon them as impossible or improbable. It is curious to recall some of\n"
"the mental habits of those departed days. At most terrestrial men\n"
"fancied there might be other men upon Mars, perhaps inferior to\n"
"themselves and ready to welcome a missionary enterprise. Yet across the\n"
"gulf of space, minds that are to our minds as ours are to those of the\n"
"beasts that perish, intellects vast and cool and unsympathetic,\n"
"regarded this earth with envious eyes, and slowly and surely drew their\n"
"plans against us. And early in the twentieth century came the great\n"
"disillusionment.\n")
matches = re.search(regex, test_str)
if matches:
print ("Match was found at {start}-{end}: {match}".format(start = matches.start(), end = matches.end(), match = matches.group()))
for groupNum in range(0, len(matches.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = matches.start(groupNum), end = matches.end(groupNum), group = matches.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