如何在coffeescript heregex中设置修饰符?

如何在coffeescript heregex中设置修饰符?,regex,coffeescript,Regex,Coffeescript,我在咖啡脚本中有一个heregex试图捕获URL: regex = /// ( ((f|ht){1}tp(s)?://) [-a-zA-Z0-9@:%_\+.~?&//=]+ ) /// 但如何设置全局和忽略案例标志?我试过这个: newregex = regex.compile(regex,"gi") 但这也不起作用,Coffeescript将heregex转换为单行正则表达式: //Generated by CoffeeScript 1.3.1 var reg

我在咖啡脚本中有一个heregex试图捕获URL:

regex = /// (
  ((f|ht){1}tp(s)?://)
  [-a-zA-Z0-9@:%_\+.~?&//=]+
  )
///
但如何设置全局和忽略案例标志?我试过这个:

    newregex = regex.compile(regex,"gi")

但这也不起作用,Coffeescript将heregex转换为单行正则表达式:

//Generated by CoffeeScript 1.3.1
var regex;

regex = /(((f|ht){1}tp(s)?:\/\/)[-a-zA-Z0-9@:%_\+.~?&\/\/=]+)/;
javascripts regex syntax
/regex/mods
是regex.compile(“regex”,“mods”)的缩写,所以您不需要编译它。您只需将修改器添加到heregex:

regex = /// (
  ((f|ht){1}tp(s)?://)
  [-a-zA-Z0-9@:%_\+.~?&//=]+
  )
///gi

这对我很管用。我第一次尝试的时候就把它放在那里了,但是Rubymine表现得好像这是我做过的最糟糕的事情,所以我想我会遇到编译错误或者其他什么,但是我忽略了它,这就成功了。我在heregexes的任何地方都找不到关于修饰符的文档,所以很好,现在已经有了。