Я пытаюсь найти тексты из документа, которые имеют повторяющиеся фрагменты и встречаются в документе несколько раз. Однако, используя regex.match, он показывает только первое совпадение из документа, а не др.
Шаблоны, которые я хочу найти, выглядят так:
clauses 5.3, 12 & 15
clause 10 C, 10 CA & 10 CC
Следующая строка показывает регулярное выражение, которое я использую.
regex_crossref_multiple_1=r'(clause|Clause|clauses|Clauses)\s*\d+[.]?\d*\s*[a-zA-Z]*((,|&|and)\s*\d+[.]?\d*\s*[A-Z]*)+'
Код, используемый для сопоставления, и результаты показаны ниже:
cross=regex.search(regex_crossref_multiple_1,des)
(des - строка, содержащая текст)
Для печати результатов я использую print(cross.group())
.
Результат:
clauses 5.3, 12 & 15
Однако есть и другие шаблоны, в которых я не являюсь получение результата.
Пожалуйста, дайте мне знать, в чем может быть проблема.
Строка ввода (des) находится по следующей ссылке.
https://docs.google.com/document/d/1LPmYaD6VE724OYoXDGPfInvx8WTu5JfrTqTOIv8zAlg/edit?usp=sharing
In case, the contractor completes the work ahead of stipulated date of
completion or justified extended date of completion as determined
under clauses 5.3, 12 & 15, a bonus @ 0.5 % (zero point five per cent) of
the tendered value per month computed on per day basis, shall be
payable to the contractor, subject to a maximum limit of 2 % (two
percent) of the tendered value. Provided that justified time for extra
work shall be calculated on pro-rata basis as cost of extra work excluding
amount payable/ paid under clause 10 C, 10 CA & 10 CC X stipulated
period /tendered value. The amount of bonus, if payable, shall be paid
along with final bill after completion of work. Provided always that
provision of the Clause 2A shall be applicable only when so provided in
‘Schedule F’