Pergunta

Eu estou trabalhando em este tubo yahoo Regex e eu encontrei um bug que eu sou incapaz de envolver minha mente em torno dele.

Eu tenho um URL, a partir do qual eu extraio dígitos, gato-los e fazer uma tag img HTML e incorporá-lo. A questão é que, a URL é apresentado de uma forma não acolchoada, mas a imagem vinculada tem os zeros. Portanto, quando há um dia ou um mês com um dígito, o regex pára de funcionar.

Isto é o que eu tenho até agora:

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

Como eu poderia analisar esses zeros como fazer a coisa funcionar?

Foi útil?

Solução

Se você pode usar mais de uma expressão regular, aqui está uma solução 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" />
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top