Независимо от того, насколько хорошо я чувствую, что знаю регулярные выражения, они всегда кажутся избитыми.Regex Match any string powershell
Я ищу универсальный шаблон, который будет соответствовать любой строке. Единственный способ узнать, как обрабатывать все эти различные соглашения об именах, - это создать множество различных шаблонов регулярных выражений, и теперь я даже не уверен, что все данные собираются, поэтому мне придется вручную перепроверять Это.
Я просто пытаюсь подобрать что-нибудь, что могло бы быть в двух скобках []:
elseif($line -match "\[\w*\d*\]") {
$pars = $matches[0]
}
elseif($line -match "\[\d*\w*\]") {
$pars = $matches[0]
}
elseif($line -match "\[\w*\d*_\w*\]") {
$pars = $matches[0]
}
elseif($line -match "\[\w*\d*_*\w*-*\w*:*\w*\]") {
$pars = $matches[0]
}
elseif($line -match "\[\w*_*\w*_*\w*_*\w*_*\w*_*\w*-*\w*\]") {
$pars = $matches[0]
}
Путь, я делаю это не приводит к возникновению ошибок, но я не уверен, что он обрабатывает все ситуации Я мог бы столкнуться. С этим большим количеством данных проверка вручную практически невозможна.
Кроме того, если кто-нибудь знает о большой полезности для генерации шаблонов регулярных выражений, это было бы очень признательно. Я только смог найти тестеры регулярных выражений, которые мне не очень полезны, и для регулярных выражений с PowerShell мало помогает онлайн.
Что вы имели в виду под любой струной? это означает, что regex '. +' будет делать? и btw, '\ d' и' _' уже включены внутри '\ w' – Angga
Вы не очень хорошо описываете, что именно * точно * вы пытаетесь сопоставить внутри скобок. Из того, что я могу сделать из вашего кода, вы ищете любую строку, которая имеет только буквенно-цифровые символы и символ подчеркивания. Если это так, вы можете просто использовать '\ [[\ d \ w] * \]' или '\ [[a-zA-Z_0-9] * \]' .... О, я вижу двоеточие и тире там тоже. Ну, в этом случае вы можете сделать '\ [[\ w \ d: -] * \]'. –
Ангга получил это на месте. Под любой строкой я имел в виду «Любые возможные символы, которые вы можете разместить между двумя скобками». '. +' Обрабатывает это точно. Спасибо, разместите свое решение, чтобы я мог принять его как ответ. – Cole9350