首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

正则。关于取第3个逗号前的数据

2012-02-10 
求一个正则。关于取第3个逗号前的数据。比如str123,234,345,456,567... 怎么用正则取得 123,234,345 ,

求一个正则。关于取第3个逗号前的数据。
比如str   =   "123,234,345,456,567... "

怎么用正则取得 "123,234,345 ",即第3个逗号前的数据串

[解决办法]
<script type= "text/javascript ">
var str = "123,234,345,456,567... "
alert(str.replace(/^([^,]*?,[^,]*?,[^,]*?),(.*?)$/, "$1 "))
</script>
[解决办法]
alert(/^((?:[^,]*,){2}[^,]*)/.test(str)?RegExp.$1: "Nothing Match! ");
[解决办法]
<script type= "text/javascript ">
str = "123,234,345,456,567... "
id=str.match(/^([^,]+[,]){3}/g)
s=id[0].substr(0, 11);
alert(s)
</script>

[解决办法]
var str = "123,234,345,456,567,678 "
alert(str.match(/\d+/g).slice(0,3).join( ", "));
~~~~
这是最好的感觉,忘了slice方法了
[解决办法]
var str = "123,234,345,456,567, ";
var sr = [];
var a = [str];
for(var i=1;i <16;i++)
a = a.concat(a);
str = a.join( ' ');
sr[sr.length] = [ "测试字数: ",str.length].join( ' ');

//方法1
var ts = new Date();
var re = /[^,]+/g
var source = re.test(str)?Array.prototype.slice.call(str.match(re),0,3): " ";
sr[sr.length] = [ "方法1: ",new Date()-ts, "ms ", " 结果: ",source].join( ' ');


//方法2
var ts = new Date();
var source = /^((?:[^,]*,){2}[^,]*)/.test(str)?RegExp.$1: " ";
sr[sr.length] = [ "方法2: ",new Date()-ts, "ms ", " 结果: ",source].join( ' ');

//方法3
var ts = new Date();
var source = str.split( ', ').slice(0,3);
sr[sr.length] = [ "方法3: ",new Date()-ts, "ms ", " 结果: ",source].join( ' ');

alert(sr.join( '\n '));

很明显直接用正则找前3个是最快的
[解决办法]
var str = "123,234,345,456,567,678 "
alert(str.split(/\,/,3).join( ", "));
我喜欢这个.

热点排行