Quote Originariamente inviata da KillerWorm Visualizza il messaggio
Ciao, si potrebbe fare in vari modi, questo è uno:
codice:
function estraiUrl(str){
  return (str.match(/\[ *null *,.*, *'(.*)\/'.*/) || [,""])[1]
}
console.log(                                                                  // OUTPUT:
        estraiUrl("[null1, 'pippo','http://www.google.it/','_self','']")      // (stringa vuota)
,"\n",  estraiUrl("[null, 'pippo','http://www.google.it/','_self','']")       // http://www.google.it
,"\n",  estraiUrl("[anull, 'pippo','http://www.google.it/','_self','']")      // (stringa vuota)
,"\n",  estraiUrl("[null, 'pippo','http://www.yahoo.it/','_self','']")        // http://www.yahoo.it
)
Se servono chiarimenti chiedi pure.

Tieni presente che in casi del genere è sempre opportuno valutare quante più eventualità possibili in modo da poter formulare al meglio il parsing da eseguire sulla stringa.

Posso giusto dire che la soluzione che ho fornito soddisfa le specifiche che hai indicato, anzi fa anche qualcosa in più perché include casi in cui ci siano degli spazi attorno ai valori del pseudo-array (come mi sembra plausibile), ma è possibile che tra le svariate eventualità (cioè a seconda di come è stata scritta la stringa) saltino fuori dei risultati inattesi. Chiaramente il tutto è da valutare secondo casistiche plausibili e verosimili.
Ciao grazie infinite ma mi puoi spiegare brevemente quello che hai fatto o le spiegazioni esulano da questo post? Ho letto chiedi pure e infatti chiedo.
Ma una trattazione delle regex per capirle sicuramente non puo essere fatta qui. Su google ci sono tanti tester delle regex ma la trattazione organica non c è come mi consigli di approcciarmi allo studio? Anche in inglese non c è problema. Grazie. Ciao