# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"(?:google|yahoo)(?:\.com)?"
test_str = (" I like foobar.com\n"
" I like google.com and foobar.com\n"
" I like foobar.com and google.com\n"
" I like foobargoogle.com and googlefoobar.com\n"
" I like yahoo.com and foobar.com\n"
" I like foobar.com and yahoo.com\n"
" I like foobaryahoo.com and yahoofoobar.com\n\n\n"
" I like yahoo.com\n"
" I like foobaryahoo.com\n"
" I like google.com\n"
" I like foobargoogle.com\n"
" I like google.com and yahoo.com\n"
" I like foobargoogle.com and foobaryahoo.com\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