# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"match this (?:match that)"
test_str = ("match this match that/// TRC20.sol -- API for the TRC20 token standard\n\n"
"// See <https://github.com/tronprotocol/tips/blob/master/tip-20.md>.\n\n"
"// This file likely does not meet the threshold of originality\n\n"
"// required for copyright to apply. As a result, this is free and\n\n"
"// unencumbered software belonging to the public domain.\n\n"
"pragma solidity >=0.4.25;\n\n"
"contract TRC20Events {\n\n"
" event Approval(address indexed src, address indexed guy, uint wad);\n\n"
" event Transfer(address indexed src, address indexed dst, uint wad);\n\n"
"}\n\n"
"contract TRC20 is TRC20Events {\n\n"
" function totalSupply() public view returns (uint);\n\n"
" function balanceOf(address guy) public view returns (uint);\n\n"
" function allowance(address src, address guy) public view returns (uint);\n\n"
" function approve(address guy, uint wad) public returns (bool);\n\n"
" function transfer(address dst, uint wad) public returns (bool);\n\n"
" function transferFrom(\n\n"
" address src, address dst, uint wad\n\n"
" ) public returns (bool);\n\n"
"}")
matches = re.finditer(regex, test_str, re.IGNORECASE | 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