var src = "a_all cssb|oba_b strc|天天"; var re = /.+?( |\||$)/g; var arr; while ((arr = re.exec(src)) != null) { document.write("<br /><br />"); document.write(arr[0]); };
var re2=/.+?[\s\|$]/g; 为什么结果少了最后一个?
var re2=/.+?[\s\|$]/g; 为什么结果少了最后一个?你的错了。你自己看看你的意思变成什么了。 我的var re = /.+?( |\||$)/g;括号里的表示空格或竖线 | 或结尾$。 因为你说的是遇到空格或竖线|,所以没有用\s(表示空白符)。 你字符串的末尾没有空格也没有竖线,所以应该匹配末尾$。
var src = "a_all cssb|oba_b strc|天天";
var re = /.+?( |\||$)/g;
var arr;
while ((arr = re.exec(src)) != null) {
document.write("<br /><br />");
document.write(arr[0]);
};
var re2=/.+?[\s\|$]/g;
为什么结果少了最后一个?
var re2=/.+?[\s\|$]/g;
为什么结果少了最后一个?你的错了。你自己看看你的意思变成什么了。
我的var re = /.+?( |\||$)/g;括号里的表示空格或竖线 | 或结尾$。
因为你说的是遇到空格或竖线|,所以没有用\s(表示空白符)。
你字符串的末尾没有空格也没有竖线,所以应该匹配末尾$。