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

2.14. Eliminowanie niepotrzebnych nawrotów

Problem

W poprzedniej recepturze wyjaśniliśmy różnice dzielące zachłanne kwantyfikatory od leniwych kwantyfikatorów oraz sposoby wykonywania nawrotów. Okazuje się jednak, że w pewnych sytuacjach nawracanie w ogóle nie jest potrzebne.

W wyrażeniu regularnym <\b\d+\b> użyliśmy zachłannego kwantyfikatora, a w wyrażeniu <\b\d+?\b> użyliśmy leniwego kwantyfikatora. Oba wyrażenia pasują do tego samego — liczby całkowitej. Dla tego samego tekstu wejściowego oba wyrażenia odnajdują te same dopasowania. W tym przypadku wszelkie nawroty są zbędne. Gdyby udało nam się opracować wyrażenie regularne wprost eliminujące te nawroty, ich przetwarzanie byłoby znacznie bardziej efektywne.

Rozwiązanie

  • \b\d++\b

    • Opcje wyrażenia ...

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