Я ищу способ замены некоторых путей к изображениям в коде с помощью функции регулярных выражений. В конечном счете, я буду использовать инструмент пакетной обработки текста под названием «TextCrawler» для выполнения этих подстановок, но на данный момент мне интересно узнать, как использовать совпадения регулярных выражений для указания конкретного вхождения. Я не смог получить никаких квантификаторов , чтобы позволить мне это сделать.
Я использую (?<=@heroImageURL = ").+(?=")|(?<=@productImageURL = ").+(?=")
для замены путей к изображениям, и это регулярное выражение находит все пути к изображениям. Тем не менее, мне нравится знать, как нацелиться на n-й конкретный экземпляр значения конкретной переменной. В приведенном ниже примере у меня есть 2 разные переменные для каждого условия бренда. Когда я хочу заменить, я не хочу, чтобы каждая возможная переменная получала одно и то же значение, поэтому мне нужна помощь с применением специфичности.
Каждая переменная будет иметь разное значение в зависимости от brandName, и этот процесс будетитеративный по нескольким различным файлам, поэтому я хочу в конечном итоге поместить значения Find и Replacement, содержащие шаблон Regex и Substitution, в разделенный запятыми список, который я передам в TextCrawler для замены.
Вот мой regex101 link
IF @brandName == "A" THEN
set @heroImageURL = "http://www.image.com/a9230239u230.jpg"
set @productImageURL = "http://www.image.com/A29200923.jpg"
ELSEIF @brandName == "B" THEN
set @heroImageURL = "http://www.image.com/b2389823u238.jpg"
set @productImageURL = "http://www.image.com/B22392029.jpg"
ELSEIF @brandName == "C" THEN
set @heroImageURL = "http://www.image.com/c23892389289.jpg"
set @productImageURL = "http://www.image.com/C49309934.jpg"
ELSEIF @brandName == "D" THEN
set @heroImageURL = "http://www.image.com/d23423892833.jpg"
set @productImageURL = "http://www.image.com/D09349409.jpg"
ELSEIF @brandName == "E" THEN
set @heroImageURL = "http://www.image.com/e22823889899.jpg"
set @productImageURL = "http://www.image.com/E22092309.jpg"
ELSE
set @heroImageURL = "http://www.image.com/e22823889899.jpg"
set @productImageURL = "http://www.image.com/E22092309.jpg"
ENDIF