Strona 1 z 1
Wildcards, wyrazenia regularne
Napisane:
16 października 2003, o 21:22
przez Marcio
Napisane:
17 października 2003, o 23:21
przez Wydra707
Spróbuj czegoś takiego:
<img src=\"([a-zA-Z0-9/_\-]*[/])*1.gif\"
Sprawdzałem w Pająku 4.8.1. Działa przy założeniu, że nazwy podkatalogów składają się tylko z liter, cyfr, minusa i podkreślnika. Zamienione zostaną (np.):
<img src="las/1.gif"
<img src="las/sosnowy/1.gif"
<img src="1.gif"
...ale nie zostanie zamieniony:
<img src="101.gif"
Zwróć uwagę, że pominąłem nawias zamykający tag, ponieważ po src mogą być kolejne atrybuty. A zatem zamieniaj na ciąg:
<img src="obrazki/1gif"
- także bez nawiasu zamykającego!
A w ogóle, to przedtem poeksperymentuj, bo nie jestem pewien czy ten zapis uwzględnia wszystkie możliwe sytuacje - żebyś nie narobił sobie bałaganu!
Pozdrawiam
Paweł Rajewski
Napisane:
19 października 2003, o 12:18
przez Marcio
Dziękuje Bardzo Paweł że pokierowałeś mie na odpowiednie tory
niestety twoja konstrukcja
<img src=\"([a-zA-Z0-9/_\-]*[/])*1.gif\"
nie pomogła mi ale zaczełem grzebać i udało mi się za pomocą
[a-zA-Z0-9\s]+/1.gif
odnaleźć katalogi które szukałem bez szukania znacznika tą drogą
odnalazłem ciągi znaków
budowa/1.gif, stal/1.gif, nowa budowa/1.gif
ta konstrukcja odnajduje tez nazwy które są poprawne
obrazki/1.gif
nie przeszkadza to mi zamienić wszystkie niepoprawne i poprawne razem
szukam więc jak wykluczyć z mojego wyszukiwania wyraz
obrazki
Teraz inny problem po wyszukaniu i naciśnięciu przycisku zamień Pajaczek 5.1 pokazuje mi że nazwy zostały zamienione
niestety wyswietla się tylko komunikat ze zostały zamienione i lista stron gdzie zostało zamienione ale nic sie sie podmienia
sprawdzałem wielokrotnie nawet otwierając i zamykając serwis.
Jest to bład Pajączka czy mój.
Marcio
Napisane:
20 października 2003, o 22:53
przez Wydra707
Napisane:
21 października 2003, o 19:39
przez Marcio
[a-zA-Z0-9\s\-\_\.\/]+/1.gif (wszystko pod Paj 5.1)
ten ciąg znaków daje sobie radę z podkatalogami, odstepami i kreskami jak niżej
budowa/1.gif
Budowa/1.gif
nowa budowa/1.gif
moja. - nowa_budowa/1.gif
Moja. - nowa_Budowa/1.gif
nowa_budowa/1.gif
nowa-budowa/1.gif
nowa - budowa/1.gif
nowa.budowa/1.gif
dom/budowa/1.gif
krzaki/zielone/1.gif
niestety znajdzie też
budowa/10gif [ jak fachowo zauważyłeś . (kropka) może jak tu zastąpić znak O]
znajduje też
budowaq/10gif z ciagu budowaq/10gif.rtu
ten problem można ominać dodając " co wyeliminuje to wyszukanie
czyli
[a-zA-Z0-9\s\-\_\.\/]+/1.gif" ale co wtedy jak w kodzie strony w znacznikach nie ma znaków " tylko odrazu src=1.gif>
w serwisie który uporządkowałem nie miałem problemów
ale oczywiście zawsze przeglądałem raport wyszukiwania przed podmianą.
Wielkie Dzięki za pomocne uwagi
Pozdrawiam serdecznie Marcio
Napisane:
21 października 2003, o 22:56
przez Wydra707
1. Aby kropka oznaczała kropkę poprzedź ją odwróconym ukośnikiem.
2. Takie coś:
("src"|"SRC")=[\"]?([a-zA-Z0-9/_\-]*[/])*1\.gif[\"]?
znajduje w Pająku 4 wszystko co trzeba zarówno w przypadku występowania cudzysłowów, jak i bez nich :-) Czyli:
Najpierw src lub SRC; potem znak równości; potem zero lub raz cudzysłów; potem dowolna ilość liter, cyfr, podkreślników lub minusów zakończona znakiem łamania i cała ta kombinacja dowolną ilość razy (innymi słowy dowolna ilość dowolnych podkatalogów); potem ciąg: 1.gif; a potem zero lub raz cudzysłów.
Pominąłem spacje i kropki w znakach do wyszukania, bo ich stosowanie w nazwach katalogów i plików jest dość niebezpieczne (i raczej należy tego unikać).
Uff... Swoją drogą wyrażenia regularne w JScript są znacznie wygodniejsze...
Pozdrawiam
Paweł Rajewski
Napisane:
23 października 2003, o 17:28
przez Marcio
Bardzo dobry twój sposób przetestowałem w Paj 4.8.1
niestety w Paj 5.1 nic nie znalazł?
Skąd się biorą te niedogodności ?
Teraz będę musiał korzystać raz z jednej raz z drugiej wersji
Paj 5.1 mogę jeszcze 19 razy odpalić potem koniec, miałem na początku chęć zakupić
ale za dużo jeszcze poprawek potrzebuje które przeszkadają mi w pracy.
Poczekam na następne wersje.
Dziękuje i Pozdrawiam Serdecznie
Marcio
Napisane:
23 października 2003, o 20:36
przez platekr
Wyrażenia regularne w Pajączku 2000 to było bardzo specyficzne rozwiązanie i raczej nie pozostające w zgodzie z popularnymi standardami. W Pajączku 5 napisane zostały od nowa i w zgodzie ze standardem V8 oraz obsługujące dodatkowko podzbiór wyrażeń regularnych języka Perl. Nie wiem czy w ogóle zaglądałeś do pomocy Pajączka, bo temat wyrażeń regularnych wraz z przykładami wykorzystania jest tam dość szeroko opisany. Znając wyrażenia regularne np. Perla czy PHP czy dostępne w językach skryptowych można bardzo szybko przejść na te z Pajączka 5, bowiem są w znaczniej mierze zgodne. W funkcjach wyrażeń regularnych, jak sugerowałeś, nie ma błędów i nie będą poprawiane, ale na pewno nie uzyskasz tych samych efektów stosując wyrażenia z Pajączka 2000 w Pajączku 5. Oprócz tego, że w Pajączku 2000 była inna składnia, to były jeszcze dużo uboższe.
Więcej:
klawisz F1 w Pajączku
lub
http://www.creamsoft.com/pajaczek/showpage.php/pajaczek5pro.html i odsyłacz "Pomoc do programu online "
Napisane:
1 listopada 2003, o 11:27
przez Marcio
Napisane:
1 listopada 2003, o 14:40
przez reggi
Napisane:
1 listopada 2003, o 17:16
przez Marcio
Napisane:
1 listopada 2003, o 17:54
przez Marcio