Frage

Ich arbeite an diesem yahoo Rohr Regex und ich fand einen Fehler, den ich nicht in der Lage bin, meine Meinung zu wickeln um ihn herum.

Ich habe eine URL, von dem ich Ziffern extrahieren, Katze sie und ein img HTML-Tag machen und einbetten. Das Problem ist, dass die URL in einer nicht gepolsterten Weise präsentiert wird, aber das verknüpfte Bild hat die Nullen. Deshalb wird, wenn es einen Tag oder einen Monat mit einstelligen, die Regex nicht mehr funktioniert.

Das ist, was ich habe, so weit:

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

Wie kann ich diese Nullen analysieren wie dieses Ding funktioniert?

War es hilfreich?

Lösung

Wenn Sie mehr als einen regulären Ausdruck verwenden können, ist hier eine Abhilfe:

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" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top