⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 string-split.js

📁 Google浏览器V8内核代码
💻 JS
字号:
// Copyright 2008 the V8 project authors. All rights reserved.// Redistribution and use in source and binary forms, with or without// modification, are permitted provided that the following conditions are// met:////     * Redistributions of source code must retain the above copyright//       notice, this list of conditions and the following disclaimer.//     * Redistributions in binary form must reproduce the above//       copyright notice, this list of conditions and the following//       disclaimer in the documentation and/or other materials provided//       with the distribution.//     * Neither the name of Google Inc. nor the names of its//       contributors may be used to endorse or promote products derived//       from this software without specific prior written permission.//// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.expected = ["A", undefined, "B", "bold", "/", "B", "and", undefined, "CODE", "coded", "/", "CODE", ""];result = "A<B>bold</B>and<CODE>coded</CODE>".split(/<(\/)?([^<>]+)>/);assertArrayEquals(expected, result, 1);expected = ["a", "b"];result = "ab".split(/a*?/);assertArrayEquals(expected, result, 2);expected = ["", "b"];result = "ab".split(/a*/);assertArrayEquals(expected, result, 3);expected = ["a"];result = "ab".split(/a*?/, 1);assertArrayEquals(expected, result, 4);expected = [""];result = "ab".split(/a*/, 1);assertArrayEquals(expected, result, 5);expected = ["as","fas","fas","f"];result = "asdfasdfasdf".split("d");assertArrayEquals(expected, result, 6);expected = ["as","fas","fas","f"];result = "asdfasdfasdf".split("d", -1);assertArrayEquals(expected, result, 7);expected = ["as", "fas"];result = "asdfasdfasdf".split("d", 2);assertArrayEquals(expected, result, 8);expected = [];result = "asdfasdfasdf".split("d", 0);assertArrayEquals(expected, result, 9);expected = ["as","fas","fas",""];result = "asdfasdfasd".split("d");assertArrayEquals(expected, result, 10);expected = [];result = "".split("");assertArrayEquals(expected, result, 11);expected = [""]result = "".split("a");assertArrayEquals(expected, result, 12);expected = ["a","b"]result = "axxb".split(/x*/);assertArrayEquals(expected, result, 13);expected = ["a","b"]result = "axxb".split(/x+/);assertArrayEquals(expected, result, 14);expected = ["a","","b"]result = "axxb".split(/x/);assertArrayEquals(expected, result, 15);// This was http://b/issue?id=1151354expected = ["div", "#id", ".class"]result = "div#id.class".split(/(?=[#.])/);assertArrayEquals(expected, result, 16);expected = ["div", "#i", "d", ".class"]result = "div#id.class".split(/(?=[d#.])/);assertArrayEquals(expected, result, 17);expected = ["a", "b", "c"]result = "abc".split(/(?=.)/);assertArrayEquals(expected, result, 18);/* "ab".split(/((?=.))/) *  * KJS:   ,a,,b * SM:    a,,b, * IE:    a,b * Opera: a,,b * V8:    a,,b *  * Opera seems to have this right.  The others make no sense. */expected = ["a", "", "b"]result = "ab".split(/((?=.))/);assertArrayEquals(expected, result, 19);/* "ab".split(/(?=)/) * * KJS:   a,b * SM:    ab * IE:    a,b * Opera: a,b * V8:    a,b */expected = ["a", "b"]result = "ab".split(/(?=)/);assertArrayEquals(expected, result, 20);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -