У меня есть код ниже, в котором я пытаюсь найти специальные символы & длину строки. Если условие терпит неудачу, примечание об ошибке должно быть записано на хост. Я использую Powershell 2.0. Код проверяет длину строки, но не может проверить какой-либо специальный символ. Пожалуйста помоги.Поиск специальных символов в строке в powershell
$chk=$user_logon.Output_Value
if($chk.length -gt 64 -or $chk -notmatch '[^a-zA-Z0-9]')
{
write-host "Error - The Value ""$chk"" is greater than 64 bits or it contains a special character" -BackgroundColor "White" -ForegroundColor "Red";
}
Я также попробовал -
if($chk.length -gt 64 -or $chk -notmatch "^[a-zA-Z0-9\s]+$")
, который работал. Но я хотел бы иметь условие, которое проверяет все специальные символы, запрещающие подчеркивание «_», которое может быть частью $ chk.
Спасибо.
Спасибо. Он решает мой случай, когда он соответствует строке без алфавитов или цифр. Я также с нетерпением ожидал случая, когда я мог бы сопоставить строку без специальных символов, запрещающих нижний регистр. – 0nir
Дело - if ($ chk.length -gt 64-or $ chk -match "[^ a-zA-Z0-9_]"). Не уверен, что это лучший подход. Благодарю. – 0nir