Следующий шаблон Regex в PowerShell доставляет мне реальные проблемы. Двойные и одинарные кавычки являются виновниками, но я не знаю, как заставить PowerShell принять его. Как заставить PowerShell успешно принять этот шаблон?
Если я копирую шаблон в переменную, PowerShell жалуется на неожиданный токен после первой кавычки, найденной в шаблоне.
$myRegex = "^param[\s?]*\([\$\sa-zA-Z\=\@\(\)\"\d\,\:\\\_\.\']*\)"
Затем я попытался убрать двойную кавычку, добавив рядом другую кавычку На этот раз строка принята, но регулярное выражение не выполнено. Обратите внимание на двойную двойную кавычку в следующем примере.
$myRegex = "^param[\s?]*\([\$\sa-zA-Z\=\@\(\)\""\d\,\:\\\_\.\']*\)"
$somelongString -replace $myRegex
Сообщение об ошибке:
The regular expression pattern ^param[\s?]*\([\$\sa-zA-Z\=\@\(\)\"\d\,\:\\\_\.\']*\) is not valid.
Обновление 1:
По предложению @Dan Farrell я обновил свое регулярное выражение следующим образом:
$myRegex = "^param(\s?)*\([\$\sa-zA-Z\=\@\(\)\""\d\,\:\\\_\.\']*\)"
Обновление 2:
Это рабочий пример моего Regex, который я пытаюсь перенести на PowerShell