Regex para adicionar zeros de preenchimento
-
03-07-2019 - |
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?
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