Регулярное выражение для добавления заполняющих нулей

StackOverflow https://stackoverflow.com/questions/408278

  •  03-07-2019
  •  | 
  •  

Вопрос

Я работаю над этим регулярным выражением yahoo pipe и обнаружил ошибку, которую не могу осознать.

У меня есть URL-адрес, из которого я извлекаю цифры, записываю их, создаю HTML-тег img и вставляю его.Проблема в том, что URL-адрес представлен без дополнения, но связанное изображение имеет нули.Поэтому, когда есть день или месяц с однозначными цифрами, регулярное выражение перестает работать.

Это то, что у меня есть на данный момент:

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

Как я мог бы разобрать эти нули, чтобы заставить эту штуку работать?

Это было полезно?

Решение

Если вы можете использовать более одного регулярного выражения, вот обходной путь:

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" />
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top