У меня есть, например, следующий текст (хранится как $test
):
\ u003c / p> \ n \ u003cp \ u003e \ u003c / p> \ n \ u003cimg src = \ " / sites / mysite / SiteCollectionImages / banner.jpg \" alt = \ "\" style = \ "float: none; height: auto; width: auto \" / \ u003e \ n \ u003cp> Больше мяса, меньше отходов, означает большую ценность для вашего доллара. \ u003c / p> \ n \ u003cp> \ u003c / p \ u003e \ n \ u003cp \ u003eПри замене мяса эму в ваших рецептах или при планировании При подаче порций помните, что нежирное мясо эму не дает усадки, как другие виды мяса. Вы получаете больше того, за что платите, без костей, внешнего жира или хрящей. Мясо эму очень стабильно при хранении, особенно в вакуумной упаковке. Правильно упакованное в вакууме мясо будет хранить fre sh в вашем холодильнике до 4 недель и до 6-9 месяцев в морозильной камере. \ U003c / p> \ n \ u003cp \ u003e \ u003c / p \ u003e \ n \ u003cimg src = \ " / sites / mysite / SiteCollectionImages / lo go .jpg \" alt = \ "\" style = \ "float: none; height: auto; width: auto \" /> \ n \ u003cp> \ u003c / p> \ n \ u003cp \ u003e \ u003c / p \ u003e \ n \ u003cp>
Я хочу обновить выделенный жирным шрифтом текст между img src=\"
и \"
(что-то вроде /sites/newSite/newLibrary/originalFilename.v2.jpg
)
Как мне go делать эти замены в Powershell с помощью регулярного выражения?
Я пробовал $test -replace '(?<=img src=\")(?<imgUrl>\")', ' '
для начала, и даже это не делает для меня никаких замен.
Обновление
Я смог захватить то, что мне нужно было заменить, используя $test -replace '(?<=img src=\\")(.+?)(?=\\")', '$1'
(Спасибо @ user1390638)
Я хотел применить функцию к $1
перед заменой, поэтому мне пришлось сделать это, чтобы она работала:
[regex]::Replace($test, '(?<=img src=\\")(.+?)(?=\\")', {param($match) someFunction($match.Groups[1].Value) })