Приложение Sinatra, запущенное на Heroku, имеет RegexpError - PullRequest
1 голос
/ 26 августа 2010

Мое приложение sinatra отлично работает локально (см. Скриншот ниже), но когда я нажимаю его на heroku, оно падает, и я получаю эту ошибку

RegexpError - undefined (?...) sequence: /(?<=(LIST ALL SELECTED ))\w/:

Строка кода, где происходит,

match = data.match('(?<=(LIST ALL SELECTED ))\w')[0]

То, что я пытаюсь сделать, - это захватить следующую букву сразу после 'LIST ALL SELECTED'

Любая информация о том, что это означает, будет принята с благодарностью.

enter image description here

1 Ответ

1 голос
/ 26 августа 2010

Это то, что называется позитивным взглядом. Ruby их не поддерживает, но если это целое регулярное выражение, оно вам не нужно.

match = data.match(/LIST ALL SELECTED(\w)/)[0]

Бен (посмотрите вниз, в комментариях) говорит, что ваше регулярное выражение с lookbehind действительно работает на Ruby 1.9.2. Heroku должен использовать 1.8.6 или 1.8.7, у которого нет вида сзади.

...