# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"(\d{8})\s*(\d{10})\s*([\d/]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)"
test_str = ("\n"
" \n"
"We have effected a fund transfer to a/c No 00070110000017 with HDFC BANK for Rs\n"
"19,44,671.20(Rupees Ninteen Lakh Forty Four Thousand Six Hundred Seventy One and Paise\n"
"Twenty Only) against the below mentioned payment Details.\n"
"________________________________________________________________________________ \n"
"Invoice Number Document Number Document date Invoice Amount \n"
"Deductions Net Amount \n"
"________________________________________________________________________________ \n"
" 108027883 5001211394 28/12/2020 486167.80 \n"
" 0.00 486167.80 \n"
" 108027884 5001211396 28/12/2020 486167.80 \n"
" 0.00 486167.80 \n"
" 108027886 5001211401 28/12/2020 486167.80 \n"
" 0.00 486167.80 \n"
" 108027885 5001211408 28/12/2020 486167.80 \n"
" 0.00 486167.80 ")
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