[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 |
|
|
|