DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > Regular expression i htaccess
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

Regular expression i htaccess regex, PCRE, POSIX, upotreba Apache .htaccess , mod_rewrite

Odgovori
 
Alati teme Način prikaza
Staro 16. 08. 2007.   #1
Dušan Dželebdžić
Nekad bio ddz
Expert
 
Avatar Dušan Dželebdžić
 
Datum učlanjenja: 09.06.2005
Poruke: 590
Hvala: 88
402 "Hvala" u 51 poruka
Dušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoro
Pošaljite poruku preko MSN za Dušan Dželebdžić Pošaljite poruku preko Skype™ za Dušan Dželebdžić
Default Regexp: Upomoć!

Imam zadatak da gomilu teksta (15 brojeva časopisa, svaki po 300 strana) iz PDFa prebacim u wordpress. PDFovi su spremani za štampu, tako da uredno imaju line break na kraju svakog reda.

Svaki članak posebno prebacujem u editor (u mom slučaju Ultra Edit), i propuštam ga kroz dva makroa koja sam za ovu priliku sklepao: jedan za konverziju YUSCII->Unicode, i drugi koji preko regexpa prvo skloni sve crtice sa kraja reda, a onda ubija nepotrebne line-breakove:

Kôd:
^(.*[^.])\p
ili u prevodu: Spajamo sve redove koji nemaju tačku na kraju, u veseloj nadi da nećemo napraviti previše dodatnih pasusa.

Sve je sjajno radilo, sve dok nisam primetio da u delovima nekih članaka moraju da postoje linebreakovi, jer se radi o stihovima ili dijalozima. Izmenio sam malo string za pretragu, tako da spaja redove jedino ako imaju preko 50 karaktera:

Kôd:
^(.{50,}[^.])\p
ali UltraEdit uporno odbija da pronađe bilo šta sa ovim stringom. Sad sam se zaglupeo od previše pokušaja, i verovatno previđam očigledno - tu vi stupate na scenu
Dušan Dželebdžić je offline   Odgovorite uz citat
Staro 16. 08. 2007.   #2
borstale
A joint a day
Master
 
Avatar borstale
 
Datum učlanjenja: 16.08.2005
Lokacija: Bor
Poruke: 728
Hvala: 170
47 "Hvala" u 30 poruka
borstale će postati "faca" uskoroborstale će postati "faca" uskoro
Pošaljite ICQ poruku za borstale
Default

Off Topic: Samo da izrazim svoje oduševljenje načinom na koje je pitanje formulisano
__________________
RainDog
borstale je offline   Odgovorite uz citat
Staro 17. 08. 2007.   #3
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

nije pametno baviti se regexpima posle beer festa, ali ajd da probam

a) da li UltraEdit podrzava {} sintaxu? Textpad ne podrzava...
b) probaj da umesto {50,} stavis {1,} da vidis da li ces dobiti nesto. Ako je ovaj matching line oriented, mozda su linije krace od 50 ili tako nesto glupo...
c) \p je oznaka za unicode(ali ide ispred izraza, ne iza), ja bih ocekivao da ces koristiti \r\n ili \s+ na tom mestu da uhvatis novu liniju
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
Staro 17. 08. 2007.   #4
Br@nkoR
banned
Professional
 
Avatar Br@nkoR
 
Datum učlanjenja: 04.06.2005
Poruke: 371
Hvala: 0
738 "Hvala" u 83 poruka
Br@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoroBr@nkoR će postati "faca" uskoro
Talking

Možda:
Kôd:
^(...................................................*[^.])\p
__________________
Don't look at me; I'm lost too.
“If you can't dazzle them with brilliance, baffle them with bul*s**t.”

Poslednja izmena od Br@nkoR : 17. 08. 2007. u 13:46.
Br@nkoR je offline   Odgovorite uz citat
Staro 17. 08. 2007.   #5
Dušan Dželebdžić
Nekad bio ddz
Expert
 
Avatar Dušan Dželebdžić
 
Datum učlanjenja: 09.06.2005
Poruke: 590
Hvala: 88
402 "Hvala" u 51 poruka
Dušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoro
Pošaljite poruku preko MSN za Dušan Dželebdžić Pošaljite poruku preko Skype™ za Dušan Dželebdžić
Default

@borstale:


@ivanhoe:

Probao sam sa + i {1,}, da vidim da li će dati isti rezultat. Ovo drugo nije uhvatilo ništa, tako da je vrlo verovatno da UEdit ne konta ovakve brojače. Ono što me je zabrinulo je to što search string sa plusom umesto zvezdice daje jako čudne rezultate (hvata cele redove, ali samo one posle kojih stoje dva cr/lf-a).

Za \p sam znao da hvata blokove unicode karaktera, pa me je iznenadio UltraEditov help, koji za \p kaže:
Citat:
\p: Matches CR/LF (same as \r\n) to match a DOS line terminator.
Ali posle ove zanimacije sa quantifierima, ne bih se začudio kad bih saznao da ovo pravilo važi samo u UEditu.

@Br@nkoR:

Stari, dobri buzdovan-metod. Izgleda šašavo, ali deluje!
Hvala, ko zna kad bi mi ovako nešto palo na pamet

Poslednja izmena od Dušan Dželebdžić : 17. 08. 2007. u 18:27.
Dušan Dželebdžić je offline   Odgovorite uz citat
Staro 17. 08. 2007.   #6
Dušan Dželebdžić
Nekad bio ddz
Expert
 
Avatar Dušan Dželebdžić
 
Datum učlanjenja: 09.06.2005
Poruke: 590
Hvala: 88
402 "Hvala" u 51 poruka
Dušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoro
Pošaljite poruku preko MSN za Dušan Dželebdžić Pošaljite poruku preko Skype™ za Dušan Dželebdžić
Default Koji editor za Win?

Prerano sam se poradovao, ovo je sredilo jedan problem, ali je kasnije stvorilo nekoliko novih. Koji mi editor za Win preporučujete, a da ima osnovnu podršku za makroe, i da podržava standardnu sintaksu regexpa?
Dušan Dželebdžić je offline   Odgovorite uz citat
Staro 17. 08. 2007.   #7
MorenoArdohain
Knowledge base
Wrote a book
 
Avatar MorenoArdohain
 
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
MorenoArdohain će postati "faca" uskoroMorenoArdohain će postati "faca" uskoro
Default

Perl
Nije editor ali ce odlicno raditi
__________________
Năo quero mais seguir um só caminho
MorenoArdohain je offline   Odgovorite uz citat
Staro 18. 08. 2007.   #8
dinke
Super Moderator
Invented the damn thing
 
Avatar dinke
 
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
dinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamen
Default

How about textpad?
__________________
Caught in a Web|Blogodak
With great power comes great responsibility!
dinke je offline   Odgovorite uz citat
Staro 18. 08. 2007.   #9
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

Citat:
Originalno napisao dinke Pogledajte poruku
How about textpad?
textpad koristim godinama, ali on ume da sjebe UTF8 karaktere i milion drugih gluposti da napravi (recimo regexpi ne podrzavaju .+? (najkraci matching))...

Mozda Scite kao predlog editora, on deluje kao da radi lepo, mada se slazem sa Morenom, instaliraj perl ili php cli i napravi skriptu koja radi sta god pozelis, jebes editore i makroe...

recimo za perl, one-liner je nesto tipa
perl -p -i.BCKP -e "s/search_term/replace_term/gi" neki.fajl
__________________
Leadership is the art of getting people to want to do what you know must be done.
ivanhoe je offline   Odgovorite uz citat
Staro 20. 08. 2007.   #10
Dušan Dželebdžić
Nekad bio ddz
Expert
 
Avatar Dušan Dželebdžić
 
Datum učlanjenja: 09.06.2005
Poruke: 590
Hvala: 88
402 "Hvala" u 51 poruka
Dušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoroDušan Dželebdžić će postati "faca" uskoro
Pošaljite poruku preko MSN za Dušan Dželebdžić Pošaljite poruku preko Skype™ za Dušan Dželebdžić
Default

Izgleda da sam bio u pravu kad sam temu prvobitno postavio u PHP forum

Pretpostavljam da je perl bolje rešenje, ali o njemu znam jedino da ima "mačka mi skočila na tastaturu" sintaksu, tako da će biti efikasnije ako posao odradim u PHPu. Hvala svima na savetima.
Dušan Dželebdžić je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
Regexp i naša slova Dragan Babić Regular expression i htaccess 7 06. 09. 2006. 17:37
Text file regexp validator Blood Regular expression i htaccess 10 13. 03. 2006. 14:57


Vreme je GMT +2. Trenutno vreme je 10:46.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.