Regex per aggiungere zeri di riempimento
-
03-07-2019 - |
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?
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