Pregunta

Tengo un enorme archivo de texto y una lista de urls de Editpad Pro con imágenes en la carpeta raíz.

http://www.othersite.com/image01.jpg
http://www.mysite.com/image01.jpg
http://www.mysite.com/category/image01.jpg

¿Cómo puedo cambiar solo los que tienen imágenes en la raíz usando regexp?

http://www.othersite.com/image01.jpg
http://www.NEW_WEBSITE.com/image01.jpg
http://www.mysite.com/category/image01.jpg

Estoy usando la aplicación en línea RegExr .

¿Fue útil?

Solución

Buscar y reemplazar (sin distinción de mayúsculas y minúsculas, expresión regular):

http://www\.mysite\.com/([^/]*\.(?:jpg|gif|png))

con:

http://www\.NEW_WEBSITE\.com/\1

EDIT

Y sí, esto también volverá a basar archivos como http://www.mysite.com/.jpg , si existen archivos o directorios de este tipo. Si a alguien no le gusta esto, simplemente reemplace * con + - o con {X,} si su suposición es que < em> un archivo de imagen necesita al menos un nombre de carácter X s etc. etc. - pero realmente , esto probablemente está bastante fuera del alcance de lo que lab72 está tratando de lograr (es decir, no la validación del nombre del archivo de imagen)

Otros consejos

url1.replace(/((https?:\/\/www.?)(\w*?)(.com\/image\d*?\.(png|gif|jpg))/, 
             "$1newName$3");

Algo como lo anterior debería funcionar. El código está en AS (no compilado aunque: P) Tenga en cuenta que $ 2 coincide con el nombre del sitio que estamos reemplazando con yoursite .

Reemplazar

http://www\.mysite\.com/image(.*)

con

http://www.newsite.com/image$1

Dicho esto, también podría estar interesado en un editor de texto . Ese applet de flash es realmente horrible. Aún puede usar la misma expresión regular, aunque tendrá que reemplazar el signo de dólar $ con una barra invertida \ .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top