Ваш шаблон регулярного выражения правильно возвращает $false
для вашего ввода из-за:
'\b\(something-big\) issues\b'
# ^ this guy
(
не является символом слова и не является пробелом
, который предшествует ему, поэтому индекс (
на самом деле не является границей слова - удалите первый \b
и это сработает:
$str2 -match '\(something-big\) issues\b'
Если вы хотите совпадать только в том случае, если перед (something-big)
присутствует несловесный символ, используйте символ отрицания \W
(обратите внимание W
в верхнем регистре):
$str2 -match '\W\(something-big\) issues\b'
или используйте отрицательный взгляд сзади:
$str2 -match '(?<!\w)\(something-big\) issues\b'