Ruby 在Heroku上运行的Sinatra应用程序有RegeExperror

Ruby 在Heroku上运行的Sinatra应用程序有RegeExperror,ruby,regex,sinatra,heroku,Ruby,Regex,Sinatra,Heroku,我的sinatra应用程序在本地运行良好(见下面的屏幕截图),但当我将其推送到heroku时,它崩溃了,我得到了这个错误 RegexpError - undefined (?...) sequence: /(?<=(LIST ALL SELECTED ))\w/: RegexpError-未定义的(?…)序列:/(?这就是所谓的正向查找。Ruby不支持它们,但如果这是整个regexp,则不需要它 match = data.match(/LIST ALL SELECTED(\w)/)[0]

我的sinatra应用程序在本地运行良好(见下面的屏幕截图),但当我将其推送到heroku时,它崩溃了,我得到了这个错误

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

RegexpError-未定义的(?…)序列:/(?这就是所谓的正向查找。Ruby不支持它们,但如果这是整个regexp,则不需要它

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

Ben(在评论中向下看)说你的带有lookbehind的regexp在Ruby 1.9.2上确实有效。Heroku必须使用1.8.6或1.8.7,它没有lookbehind。

这就是所谓的积极lookbehind。Ruby不支持它们,但如果这是整个regexp,你就不需要它

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

本(在评论中向下看)说你的带有lookbehind的regexp确实可以在Ruby 1.9.2上运行。Heroku必须使用1.8.6或1.8.7,它没有lookbehind。

这就是我的猜测。我想知道肯定的一种方式或另一种方式。我也想知道是否有一种方式Heroku可以支持它。这就是我想的。我想知道肯定的一种方式或另一种方式r、 另外,我想知道heroku是否有办法支持它。无意冒犯,但它在Ruby 1.8上不起作用。另外,从rc2升级。当您尝试发布正则表达式AR时会出现什么错误?它作为字符串(“”)传递比作为正则表达式(/)传递更好吗?@lxs我重新编写了代码以消除正向查找,推送到heroku,它工作得很好。从我在互联网上发现heroku在Ruby 1.8.6上运行。无意冒犯,但它在Ruby 1.8上不工作。另外,从rc2升级。当您尝试发布的正则表达式AR时,会出现什么错误?它作为字符串(“”)传递会更好吗作为一个正则表达式(//)?@lxs,我重新编写了代码,消除了积极的后验现象,推给heroku,效果很好。从我在互联网上看到的情况来看,heroku在Ruby 1.8.6上运行。