powershellでテキストファイルの置換時に一致と否定を織り交ぜる方法が知りたいです。

どういう条件の時に*1を置換しないのか不明瞭ですが、

※やりたいことを感覚で記載したため、機能していない
(Get-Content $b) | foreach { $_ -replace "\*1^(?!1)","*test" }

とお書きの事からすると、「直後に1が出てこない*1を置換」ですかね?であれば、
(Get-Content $b) | foreach { $_ -replace "\*1(?!1)","*test" }です。
^は行頭(文字列先頭)を表すので、途中に書くと何にも一致しません。

なお、"^(?!.*1)は「1の存在しない行の行頭」にマッチします。

コメントを投稿

0 コメント