^
соответствует началу строки (или началу строки, если установлен многострочный флаг).
\b
соответствует границе слова.
\bdo
соответствует словамначинающийся с "do".
Итак, для вашего примера:
{sentence: new RegExp('\\b'+key,'gi')}
(отмечая, что в строке JavaScript вы должны избегать обратной косой черты.)
Если вы будетевам нужно захватить совпадение (я), чтобы узнать, какое слово (слова) соответствует шаблону, вы хотите заключить выражение в скобки и добавить бит, соответствующий остальному слову:
new RegExp('(\\b' + key + '\\w*)','gi')
Где \w
- любой символ слова, а *
- ноль или более.Если вы хотите, чтобы слова имели по крайней мере на один символ больше, чем key
, используйте +
вместо *
.
Для получения более подробной информации см. Множество руководств по регулярным выражениям в Интернете, например, https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions