![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 214 Pomógł: 0 Dołączył: 3.01.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam mały problem z wyrażeniem PERL: Kod <!-- BEGIN loop -->.*?(<!-- IF\:empty -->(.*?)<!-- ENDIF\:empty -->)?.*?<!-- END loop --> Chciałbym, aby znalazło ono w podmiocie np.: Kod <!-- BEGIN loop --> loop {id.loop} <!-- IF:empty -->brak iteracji<!-- ENDIF:empty --> <!-- END loop --> wyłapało wartości: 1 => "<!-- IF:empty -->brak iteracji<!-- ENDIF: empty -->" 2 => "brak iteracji" a w podmiocie Kod <!-- BEGIN loop --> loop {id.loop} <!-- END loop --> 1 => "" 2 => "" Niestety tak się nie dzieje. Program Regular Expression Editor w wersji 1.2.0 wyświetla błąd: Uninitialized string offset: 1. Błąd znika, jeżeli umieszcze ciągi znaków ".*?" w nawiasach zwykłych np.: Kod <!-- BEGIN loop -->(.*?)(<!-- IF\:empty -->(.*?)<!-- ENDIF\:empty -->)?(.*?)<!-- END loop --> ale wtedy zostają zwrócone takie wartości: 1 => "" 2 => "" 3 => "" 4 => "loop {id.loop}<!-- IF:empty -->brak iteracji<!-- ENDIF:empty -->" Moze ktoś mi pomóc rozwiązać ten problem? Ten post edytował Krzychur 10.12.2005, 10:56:22 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:41 |