\w
не соответствует дефису (-
), поэтому вам необходимо адаптировать его к этому:
(tb\-set\-node\-os)\s+[\$\w]+\s+[\w-]+
Обратите внимание, что -
не нужно экранировать (но может быть), если оно является первым или последним в классе символов, но его необходимо экранировать, если оно находится в середине класса.
Также ничего не стоит, вы можете потенциально улучшить производительность с помощью собственнических квантификаторов, когда у вас есть последовательные взаимоисключающие предметы:
(tb\-set\-node\-os)\s++[\$\w]++\s++\w++
Поскольку \s
никогда не может совпадать с \w
(и наоборот), вместо обычных жадных можно использовать собственнические квантификаторы (*+
и ++
), которые позволят избежать / предотвратить потенциальный возврат.