Powershell регулярное выражение может быть тревожным из-за многократно иметь дело с экранирующих символов:
Так как вы вложили свою строку между простой цитатой:
- Групп могут быть маркированы с кронштейном или нет: (.n) или .n
- двойных кавычек можно рассматривать как стандартные символы
- Кронштейны можно рассматривать как стандартные символы
Если вы вложенные ваши строка Разногласия между кавычками, двойные кавычки внутри строки должны быть бежать со стандартной PowerShell экранирующего символа: `»
Таким образом, все следующие примеры возвращают тот же результат
$pattern = 'AssemblyCopyright("what ever in there")]'
# standard regex
$pattern -replace 'AssemblyCopyright\(\"(.*)\"\)\]', 'AssemblyCopyright("new pattern")]'
# no quote escape
$pattern -replace 'AssemblyCopyright\("(.*)"\)\]', 'AssemblyCopyright("new pattern")]'
# no brackets escape
$pattern -replace 'AssemblyCopyright\("(.*)"\)]', 'AssemblyCopyright("new pattern")]'
# no parenthesis to define group
$pattern -replace 'AssemblyCopyright\(".*"\)]', 'AssemblyCopyright("new pattern")]'
# double quote instead of simple quote
$pattern -replace "AssemblyCopyright\(`".*`"\)]", "AssemblyCopyright(`"new pattern`")]"