Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Community > Tech
 
[ESPRESSIONI REGOLARI] Perchè si pianta?!?!?
Clicca QUI per vedere il messaggio nel forum
ripe
Ho scritto questa regex per cercare tutti i percorsi di oggetti inseriti all'interno degli attributi dei tag Html:

code:
<(\w*)\s+(\w*)\s*=\s*(""|')\s*(([.\\\/]*(\w+))+.(\w+))\s*(""|')\s+/?>


Quando la eseguo mi entra in un ciclo infinito e non riesce a portare a termine il compito.

Se invece la modifico per cercare solo oggetti con percorso semplice funziona:

code:
<(\w*)\s+(\w*)\s*=\s*(""|')\s*([.\\\/]*(\w+).(\w+))\s*(""|')\s+/?>


Chi mi sa spiegare il perchè?!

Ah, il motore delle Regex è quello di Asp.Net!

Grazieeeeee

ripe
Aggiungo che se eseguo la prima espressione su un tag singolo del tipo <img src="../Public/Images/Prova.gif" /> funziona correttamente estraendo "../Public/Images/Prova.gif", mentre se la eseguo su un file Html completo si pianta... :?

ripe
Nessuno ha una minima idea, un suggerimento......?! :(

Gusher
Premesso che non conosco ASP.net, ma ad occhio sembrerebbe un problema di modificatore mancante.
Facendo riferimento a PHP ed alle espressioni regolari PERL compatibili, ti serve specificare l'equivalente di PCRE_DOTALL

<http://it2.php.net/manual/it/refere...n.modifiers.php>


HTH

ripe
Ti ringrazio per il consiglio, ma avevo già completamente cambiato espressione!

code:
<[^>]*\n?.*=[""']?(.*\.(jpg|jpeg|gif|png))[""']?.*\n?[^<]*>


In questo modo isolo solo le immagini! ;)

Ciaoooooo

Ale

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate