3.17. Zastępowanie wszystkich dopasowań w ramach dopasowań do innego wyrażenia regularnego

Problem

Chcemy zastąpić wszystkie dopasowania do określonego wyrażenia regularnego, ale tylko w ramach pewnej części przetwarzanego łańcucha. Do poszczególnych sekcji tego łańcucha powinny być dopasowane różne wyrażenia regularne.

Przypuśćmy, że dysponujemy plikiem w formacie HTML, którego fragmenty oznaczono znacznikami pogrubienia (<b>). Pomiędzy każdą parą tych znaczników chcemy zastąpić wszystkie dopasowania do wyrażenia regularnego <before> tekstem docelowym <after>. Na przykład po przetworzeniu łańcucha before <b>first before</b> before <b>before before</b> powinniśmy otrzymać łańcuch w postaci: before <b>first after</b> before <b>after after</b>.

Rozwiązanie ...

Get Wyrażenia regularne. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.