In drumul spre cafea, am si testat si mi-am dat seama ca exemplul cu "<tralalala>>>x" nu functioneaza cum am zis, dar tot se gasesc usor moduri sa-l faci sa dea fail. Cel mai probabil autorul a vrut sa scoata spatii si enteruri de la finalul tagului si a zis ca stie regexp si nu i-e frica sa-l foloseasca ( si s-a si zgarcit la comentarii), probabil ca contextul poate lamuri mai bine intentia. Chestia cu Cthulhu ramane in continuare in picioare.
A, pentru testat se ruleaza intr-o consola perl -pe 's{ > [^<]+ \z }{>}mxs' si incerci tot felul de stringuri sa vezi cum face (n-or sa mearga asa cazurile alea cu \n in ele dar such is life, nu le poti avea pe toate). In orice caz, sper ca te-ai mai lamurit ca nu e asa chineza cum pare la prima privire. -- P. On Wed, Jan 23, 2019 at 8:22 AM Petru Rațiu <rpe...@gmail.com> wrote: > Cu amendamentul ca inca nu mi-am baut cafeaua si n-am testat absolut nimic > din ce scriu mai jos: > > - s{lala}{lulu} e echivalentul lui s/lala/lulu/ dar cu alta forma de > quoting,e binecunoscutul operator search-and replace ; > - mxs sunt flaguri: m si s impreuna inseamna ca \n e considerat un > caracter oarecare, x inseamna ca whitespaces nu conteaza si ar ajuta la > formatare sau comments (oarecum degeaba in acest context, se pare) > - "> [^<]+ \z" din prima parte pare sa vrea sa insemne "> urmat de oricate > caractere care nu sunt <, dar minim unul, dupa care \z care e un soi de $ > mai strict (prinde si enter-uri, de ex) > ">" din partea a doua e mai simplu :) > > Recomand cu caldura perldoc perlre (sau pt. lenesi > https://perldoc.perl.org/perlre.html ) > > Cred ca ce se vrea cu chestia asta e sa stearga de la finalul fiecarui > string din @array orice "codita" care nu e in interiorul <>, cu un pic de > extra magie sa permita si newlines daca exista. Schema cu s{}{} in loc de > s/// se foloseste sa scapi de escapat diverse /-uri, dar aici nu e cazul, > probabil a fost pusa din reflex, la fel ca si x-ul din mxs, care de obicei > se foloseste sa poti sa scrii mai desfasurat si sa comentezi (lucru pe care > autorul clar nu l-a dorit ca sa poata sa-i iasa onelinerul compact). De > notat ca se pot imagina diverse situatii unde abordarea asta da fail, de > exemplu din stringul "<tralala>>>>x" o sa stearga probabil doar x. > > Ca penalizare suplimentara, contextul acestei chestii pare sa fie un fel > de regexp-based xml/html cleaning tool, caz in care ma simt obligat sa dau > link la celebrul https://stackoverflow.com/a/1732454 . > > -- > P. > > On Tue, Jan 22, 2019 at 11:49 PM Alex 'CAVE' Cernat <c...@cernat.ro> > wrote: > >> salut >> >> intr-un script de perl am gasit chestia asta: >> >> s{ > [^<]+ \z }{>}mxs for @array; >> >> imi poate si mie traduce careva ? ca nici nu stiu de unde sa incep :-P >> >> mersi >> >> Alex >> >> >> _______________________________________________ >> RLUG mailing list >> RLUG@lists.lug.ro >> http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro >> > _______________________________________________ RLUG mailing list RLUG@lists.lug.ro http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro