O'Reilly logo

Wyrażenia regularne. Receptury by Steven Levithan, Jan Goyvaerts

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

8.7. Dodawanie atrybutu cellspacing do tych znaczników <table>, które jeszcze tego atrybutu nie zawierają

Problem

Chcemy przeszukać plik w formacie (X)HTML i dodać atrybut cellspacing="0" do wszystkich tabel, które jeszcze nie zawierają atrybutu cellspacing.

Ta receptura ilustruje technikę dodawania atrybutów do tych znaczników XML-a, które jeszcze nie zawierają odpowiednich zapisów. Prezentowane rozwiązanie można by zastosować dla dowolnych innych znaczników oraz nazw i wartości atrybutów.

Rozwiązanie

Pierwsze wyrażenie regularne: Rozwiązanie uproszczone

Do dopasowywania znaczników <table>, które nie zawierają słowa cellspacing, możemy użyć konstrukcji negatywnego wyszukiwania w przód:

  • <table\b(?![^>]*?\scellspacing\b)([^>]*)>

    • Opcje wyrażeń regularnych: ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required