2016-08-10 9 views
1

角カッコで情報を取得しようとしていますが、パターンが一致しません。スクリプトタグ内の中括弧の中に部分文字列を一致させる

私が使用しているパターンがある

/var\scool=(.*);<\/script>/; 

サンプルテキスト:

<script> 
    var cool={ 
    //stuff in here 
    }; 
</script> 
+1

使用[\ sの* <\/script>/''の/ var \のscool =([\ S \ S] *)]を参照してください。 com/r/yT4zX2/1)。 –

+0

あなたは/{(.)+^}}/ –

+0

@WiktorStribiżewを試すことができます。ありがとうございました!私は助けに感謝します。 – Jon

答えて

1

あなたが持っている正規表現がゼロに一致する*数量詞(.*)のドットを持っています可能であれば、改行以外の文字以上の文字を使用してください。 JavaScriptの正規表現では、改行を含む任意の文字に一致させるには、[^]または[\s\S]または[\d\D]または[\w\W]を使用できます。

もう1つの問題は、;</script>の間に空白があるため、\s*が必要です。 // regex101:(HTTPS;

使用

/var\scool=([\s\S]*);\s*<\/script>/ 

regex demo

1
/var\scool\=(.*);\s<\/script>/s 
関連する問題