И вариант ответа Стивена Пенни из coffeescript, так как это результат # 2 google ... даже если кофе - это просто javascript с большим количеством удаленных символов ...;)
baz = "foo"
filter = new RegExp(baz + "d")
"food fight".match(filter)[0] // food
и в моем конкретном случае
robot.name=hubot
filter = new RegExp(robot.name)
if msg.match.input.match(filter)
console.log "True!"
Это гибкое действие неверно:
yylval.id_v = yytext;
yytext
указывает на внутренний рабочий буфер. Его содержимое будет меняться каждый раз, когда вызывается сканер. Поэтому, если вы хотите сохранить строку, которая составляет токен, вы должны скопировать строку в свое собственное хранилище, например, используя strdup
. (Не забудьте освободить выделенное хранилище, когда закончите с ним.)