Question

Je travaille sur cette pipe yahoo Regex et j'ai trouvé un bug que je ne parviens pas à comprendre.

J'ai une URL, à partir de laquelle j'extrais les chiffres, je les cat, puis je crée une balise html img et je l'intègre. Le problème est que l'URL est présentée de manière non remplie, mais que l'image liée a des zéros. Par conséquent, quand il y a un jour ou un mois avec des chiffres simples, la regex cesse de fonctionner.

C'est ce que j'ai jusqu'à présent:

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

Comment puis-je analyser ces zéros pour que cette chose fonctionne?

Était-ce utile?

La solution

Si vous pouvez utiliser plusieurs expressions régulières, voici une solution de contournement:

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" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top