Domanda
Ho un enorme file txt e un elenco di URL di Editpad Pro con immagini nella cartella principale.
http://www.othersite.com/image01.jpg
http://www.mysite.com/image01.jpg
http://www.mysite.com/category/image01.jpg
Come posso cambiare solo quelli che hanno immagini sulla radice usando regexp?
http://www.othersite.com/image01.jpg
http://www.NEW_WEBSITE.com/image01.jpg
http://www.mysite.com/category/image01.jpg
Sto utilizzando l'app online RegExr .
Soluzione
Cerca e sostituisci (senza distinzione tra maiuscole e minuscole, espressione regolare):
http://www\.mysite\.com/([^/]*\.(?:jpg|gif|png))
con:
http://www\.NEW_WEBSITE\.com/\1
Modifica
E sì, questo ricondizionerà anche i file come http://www.mysite.com/.jpg
, se tali file o directory esistono. Se a qualcuno non piace, sostituisci *
con +
- o con {X,}
se il tuo presupposto è che < em> un file di immagine richiede almeno un nome di carattere X s ecc. ecc. - ma davvero , questo è probabilmente al di fuori dell'ambito di ciò che lab72
sta cercando di ottenere (ovvero non convalida del nome del file immagine.)
Altri suggerimenti
url1.replace(/((https?:\/\/www.?)(\w*?)(.com\/image\d*?\.(png|gif|jpg))/,
"$1newName$3");
Qualcosa di simile a quanto sopra dovrebbe funzionare. Il codice è in AS (non compilato però: P) Nota che $ 2 corrisponde al nome del sito che stiamo sostituendo con yoursite
.
Sostituire
http://www\.mysite\.com/image(.*)
con
http://www.newsite.com/image$1
Detto questo, potresti anche essere interessato a un discreto editor di testo . Quell'applet flash è davvero schifoso. Puoi comunque usare lo stesso regexp, anche se dovrai sostituire il simbolo del dollaro $
con una barra rovesciata \
.