Pregunta

Estoy trabajando en esta tubería Regh de yahoo y encontré un error que no puedo envolver en mi mente.

Tengo una URL, de la cual extraigo dígitos, los catulo, hago una etiqueta img html y la incrusté. El problema es que la URL se presenta de forma no rellenada, pero la imagen vinculada tiene los ceros. Por lo tanto, cuando hay un día o un mes con un solo dígito, la expresión regular deja de funcionar.

Esto es lo que tengo hasta ahora:

The URL: http://www.penny-arcade.com/comic/2009/1/2/patently-ridiculous/
The RegEx: (\d{4})/(\d+)/(\d+)
The Replacement: <img src="http://www.penny-arcade.com/images/$1/$1$2$3.jpg" />

What should appear: <img src="http://www.penny-arcade.com/images/2009/20090102.jpg" />
What appears: <img src="http://www.penny-arcade.com/images/2009/200912.jpg"/>

¿Cómo podría analizar esos ceros para hacer que esto funcione?

¿Fue útil?

Solución

Si puede usar más de una expresión regular, aquí hay una solución:

search: (\d{4})/(\d)/
replace: $1/0$2/
search: (\d{4})/(\d{2})/(\d)/
replace: $1/$2/0$3/
search: (\d{2})/(\d{2})/(\d{2})/(.+)/
replace: <img src="http://www.penny-arcade.com/images/$1/$2$3.jpg" />
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top