2012-05-02 8 views
3

私は、URLをキャッチしようとしているのCoffeeScriptでこのheregexを持っている:coffeescript heregexに修飾語を設定するにはどうすればよいですか?

regex = /// (
    ((f|ht){1}tp(s)?://) 
    [[email protected]:%_\+.~?&//=]+ 
) 
/// 

が、どのようにグローバルに設定し、ケースフラグを無視するのですか?私はこの試みた:

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

をしかし、それは動作しません。どちらか

答えて

6

のCoffeeScriptは、シングルラインの正規表現にあなたのheregexを変換します

//Generated by CoffeeScript 1.3.1 
var regex; 

regex = /(((f|ht){1}tp(s)?:\/\/)[[email protected]:%_\+.~?&\/\/=]+)/; 

そしてJavaScriptの正規表現構文/regex/modsは、正規表現の省略形です.compile( "regex"、 "mods")ので、コンパイルする必要はありません。修飾語をheregexに追加することができます:

regex = /// (
    ((f|ht){1}tp(s)?://) 
    [[email protected]:%_\+.~?&//=]+ 
) 
///gi 
+0

私のために働いています。私はそれを試してみることになって初めて私はそれを入れたが、Rubymineはそれが私が今まで行った最悪の事のように行動したので、コンパイルエラーまたは何かを得ると思ったが、私はheregexesどこでも修飾子のドキュメントを見つけることができないので、これは今そこに良いです。 – broox9

関連する問題