import re
regex = re.compile(r"^\w+(\s\w&\w)", flags=re.MULTILINE)
test_str = ("Employee Communications & Engagement, WB\n"
"SVP of Global Insights & Analytics, WB\n"
"SVP of Nonfiction, HBO Max\n"
"VP of Talent Relations and Development, TCM\n"
"Global Franchise Management, DC\n"
"WB Technology Group\n"
"President, EMEA & APAC\n"
"SVP & CFO, EMEA & APAC\n"
"Director, Service Delivery\n"
"SVP for Sales and Client Partnerships, Legacy Turner\n"
"Technical Director, WarnerMedia\n"
"Dir. of Brand Distribution, WarnerMedia\n"
"Dir. Strategic & Consumer Insights, Turner Sports\n"
"Manager for Digital Asset & Photo Library, Brand Experience\n"
"Creative Manager for Creative Services, Cartoon Network\n\n\n"
"// 2 words\n"
"Cincinnati Bearcats\n"
"Miami (FL) Hurricanes\n"
"Miami (OH) Redhawks\n\n"
"// three words \n"
"South Florida Bulls // 2.1 \n"
" Saint Joseph's Hawks\n\n"
" \n"
"Duke Blue Devils // 1.2\n"
" UNLV Runnin' Rebels // with apostrophe\n\n"
"// 4 words\n"
"North Carolina Tar Heels\n"
"Notre Dame Fighting Irish\n"
"St John's Red Storm\n"
"Florida A&M Rattlers\n"
"William & Mary Tribe\n"
"St Francis (PA) Red Flash\n")
matches = regex.finditer(test_str)
for match_num, match in enumerate(matches, start=1):
print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}")
for group_num, group in enumerate(match.groups(), start=1):
print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")
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