Чтобы использовать динамическое регулярное выражение, см. мой обновленный код:
new RegExp("\\b" + lookup + "\\b").test(textbox.value)
Ваш конкретный пример обратный:
alert((/\b(2)\b/g).test(lookup));
Помещение операторов в unordered_set будет эффективной партией и обеспечит O (1) доступ к операторам.
unordered_set<char> u_set;
u_set.insert('+');
u_set.insert('*');
u_set.insert('/');
u_set.insert('-');
if((u_set.find(temp->left->oper) != u_set.end()) || (u_set.find(temp->right->oper) != u_set.end())) {
//do something
}