Domanda

Sto lavorando su questa pipe yahoo Regex e ho trovato un bug che non riesco a farci capire.

Ho un URL, dal quale estraggo le cifre, le cat che faccio e creo un tag img html e lo incorporo. Il problema è che l'URL è presentato in modo non imbottito, ma l'immagine collegata ha gli zero. Pertanto, quando c'è un giorno o un mese con cifre singole, regex smette di funzionare.

Questo è quello che ho finora:

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"/>

Come potrei analizzare quegli zeri per far funzionare questa cosa?

È stato utile?

Soluzione

Se puoi usare più di un'espressione regolare, ecco una soluzione alternativa:

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" />
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top