# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"^.*?((?:\s+\d+\.\s+Nx?[a-h][1-8]\s+[RBKQN]?x?[a-h][1-8]){2,}).*$"
test_str = ("[Event \"Live Chess\"] [Site \"Chess.com\"] [Date \"2023.02.17\"] [Round \"-\"] [White \"-\"] [Black \"-\"] [Result \"1-0\"] [WhiteElo \"925\"] [BlackElo \"939\"] [TimeControl \"180+2\"] [EndTime \"17:39:13 PST\"] [Termination \"- won by checkmate\"]\n\n"
"e4 e5 2. Nc3 d6 3. Bc4 h6 4. d3 Nc6 5. f4 Qe7 6. Nf3 Be6 7. f5 Bxc4 8. dxc4 O-O-O 9. b3 Nf6 10. O-O g5 11. fxg6 fxg6 12. Nh4 g5 13. Ng6 Qg7 14. Nxh8 Qxh8 15. Nd5 Nxd5 16. exd5 Nd4 17. c3 Nxb3 18. axb3 a6 19. b4 Be7 20. Qg4+ Kb8 21. b5 axb5 22. cxb5 b6 23. Qa4 Kc8 24. Qa8+ Kd7 25. Qc6+ Kc8 26. Ra8# 1-0\n\n"
"[Event \"Live Chess\"] [Site \"Chess.com\"] [Date \"2023.02.17\"] [Round \"-\"] [White \"-\"] [Black \"-\"] [Result \"1-0\"] [WhiteElo \"914\"] [BlackElo \"841\"] [TimeControl \"180+2\"] [EndTime \"19:06:57 PST\"] [Termination \"- won by resignation\"]\n\n"
"e4 e5 2. Nc3 Nc6 3. Bc4 Nf6 4. d3 Bc5 5. Na4 Bb4+ 6. c3 Be7 7. f4 b5 8. Bxb5 a6 9. Bc4 O-O 10. f5 d5 11. exd5 Nxd5 12. Nf3 Bxf5 13. O-O Bc5+ 14. Nxc5 Nf4 15. Nxe5 Nxe5 16. Rxf4 Bg4 17. Rxg4 Nxg4 18. Qxg4 Re8 19. Bh6 g6 1-0")
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