На самом деле вам не нужна попытка / отлов, если вы используете:
IF ($string -as [regex])
Если приведение выполнено успешно, оно вернет регулярное выражение, если нет, то вернет $ null, поэтому при использовании в качестве логического теста в IF оно будет $ true, если оно является действительным регулярным выражением, и $ false, если оно выполнено. нет.
При этом я бы согласился с Джои, что вам следует выбрать один тип совпадения (подстановочный знак или регулярное выражение) и придерживаться этого. Существует слишком большой потенциал непреднамеренных последствий при попытке определить, должен ли метасимвол регулярного выражения совпадать буквально или нет.