Я пытаюсь найти все копии текста, которые выглядят следующим образом:Powershell регулярного выражения с исключенным рисунком (Guid)
log.Error("{something other than guid formatted string}")
например, это было бы Postive матч:
log.Errog("some message")
и это не будет соответствовать
log.Error("4e6c1b55-67a7-448d-a5fe-8c9fb8a31371")
У меня есть следующий, который работает напротив как я намереваюсь, который должен сказать, что успешно находит экземпляры с GUID:
$positiveMatch = "log.Error(`"some message`")"
$negativeMatch = "log.Error(`"4e6c1b55-67a7-448d-a5fe-8c9fb8a31371`""
$pattern = "log\.Error\(`"[a-fA-F0-9]{8}-([a-fA-F0-9]{4}-){3}[a-fA-F0-9]{12}`""
[regex]::matches($positiveMatch, $pattern)
[regex]::matches($negativeMatch, $pattern)
Моя попытка обратных это не удается для обеих строк:
$pattern = "log\.Error\(`"?![a-fA-F0-9]{8}?!-?!([a-fA-F0-9]{4}-){3}?![a-fA-F0-9]{12}`""
Как я могу получить список всех log.Error("
, которые не содержат указатель?
это сделал трюк, спасибо для тех, кто еще читает это, собственно побег для PowerShell, необходимо использовать обратный апостроф, чтобы избежать внутренних двойные кавычки – Matt
Благодарим за помощь! – Matt