私が走るとき
'{{123}}'.split(/(\{\{)|(\}\})/g, -1)
私が期待する
["", "123", ""]
しかし、それは示しています
["", "{{", undefined, "123", undefined, "}}", ""]
どうして??何か間違っていることでも?
私が走るとき
'{{123}}'.split(/(\{\{)|(\}\})/g, -1)
私が期待する
["", "123", ""]
しかし、それは示しています
["", "{{", undefined, "123", undefined, "}}", ""]
どうして??何か間違っていることでも?
使用する:
'{{123}}'.split(/\{\{|\}\}/)
使用時にグループをキャッチする必要はありません.split
http://es5.github.com/#x15.5.4.14
separator がキャプチャ用の括弧を含む正規表現である場合、separator が一致するたびに、キャプチャ用の括弧の結果 (未定義の結果を含む) が出力配列に結合されます。例えば、
"A<B>bold</B>and<CODE>coded</CODE>".split(/<(\/)?([^<>]+)>/)
配列に評価されます
["A", undefined, "B", "bold", "/", "B", "and", undefined, "CODE", "coded", "/", "CODE", ""]
だから、'{{123}}'.split(/(\{\{)|(\}\})/g, -1)
リターン
["",
"{{", undefined, // "{{" is matched, but "}}" isn't.
"123",
undefined, "}}", // "{{" isn't matched, but "}}" is matched.
""]