私は、powershellで複数のxmlファイルを再帰的に検索して置き換えようとしています。私はスクリプトが一致するテキストの特定の置き換えを置き換えるのを避けたいと思います。あなたは以下のサンプルXMLを取る場合は、私は、文字列/ WEB-を無視したいの上に表示された場合は条件付き正規表現powershellの検索と置換
<title>this is a web-site</title>
<subtitle>web-site experience</subtitle>
<path>c:/web-site/web-site.xml</path>
</doc>
はスクリプト
<title>this is a new-site</title>
<subtitle>new-site experience</subtitle>
<path>c:/web-site/web-site.xml</path>
</doc>
後、以下のように変更する必要があります例えば
サイト/および/ webサイト。
私はOR演算子を使用しようとしていますが、以下のコードを無視して置き換えますが、それは役に立たないようです。
$content -replace '(^|[^/])web-site([^/]|$)|(^|[^/])web-site([^.]|$)', '$1new-Site$2' |
Out-File $file.FullName -Encoding utf8
あなたは私がそれのXMLので条件付OR複数の条件のため
おそらくeを使ってxmlノードを選択する必要があります。 g。 xpathを変更してコンテンツを変更しますか? –
私はあなたを正しく理解しているかわかりません。 XML文書なので、タイトル以外のノードは無視しますか? –
これはあなたの前の質問のわずかなバリエーションです。 –