Я хочу использовать регулярное выражение в PowerShell для удаления определенных подстрок из XML-файла.Этот файл выглядит примерно так:
<Name>FixedString1 FixedString2 VariableString</Name><Name>FixedString1 SearchString VariableString</Name>
Таким образом, в файле есть несколько случаев использования «FixedString1» и «FixedString2» внутри тегов «Name».«VariableString» различается в каждом случае.
Регулярному выражению необходимо найти «SearchString», используйте его в качестве начальной точки для перехода назад (справа налево) до закрывающей скобки «>» в «Имя»тег, включая «FixedString1» и саму «SearchString».Таким образом, выходные данные регулярного выражения должны быть
FixedString1 SearchString
, которые я позже смогу удалить из файла XML с помощью PowerShell, чтобы у меня остался
<Name>VariableString</Name>
в файле XML.
То, что я до сих пор пробовал в regex101.com, это
FixedString1 .*(?<= SearchString )
, но это регулярное выражение совпадает с первого случая «FixedString1» в файле, то есть слева направо, до «SearchString».":
FixedString1 FixedString2 VariableString</Name><Name>FixedString1 SearchString
Я хочу, чтобы он нашел" SearchString "и оттуда шел влево до первого случая" FixedString1 ", включая обе строки.
Можете ли вы помочьмне с этим?Спасибо!