<script type="text/javascript">
var str = "1222,12,34,34,56,56";
var arr = [];
str = str.replace(/([^,]*)/g, function($0, $1, i){
document.writeln("arguments.length="+arguments.length+", $0="+$0+", $1="+$1+", i="+i+"<br/>");
if(str.indexOf($1) == i) arr[arr.length] = $1;
});
document.write(arr.join(','));
</script>
上面这个正则表达式/([^,]*)/g为什么匹配出来的结果是1222,12,34,34,56,56
我想问一下的是为什么会出现个字匹配的啊:$0, $1 ,/([^,]*)/里面不是只看到一个括号()吗
var str = "1222,12,34,34,56,56";
var arr = [];
str = str.replace(/([^,]*)/g, function($0, $1, i){
document.writeln("arguments.length="+arguments.length+", $0="+$0+", $1="+$1+", i="+i+"<br/>");
if(str.indexOf($1) == i) arr[arr.length] = $1;
});
document.write(arr.join(','));
</script>
上面这个正则表达式/([^,]*)/g为什么匹配出来的结果是1222,12,34,34,56,56
我想问一下的是为什么会出现个字匹配的啊:$0, $1 ,/([^,]*)/里面不是只看到一个括号()吗
var arr = /a(b)c/.exec(str)
alert(arr)
alert(arr[0]) // $0
alert(arr[1]) // $1
我想问一下的是为什么会出现个字匹配的啊:$0, $1 ,/([^,]*)/里面不是只看到一个括号()吗//
/xxxx/g ,你加了修饰符g,会把所有的匹配都查找出来的。$0,是符合的整个表达式,$1,是第一个分组的内容。如/abc(dd)/ "kkabc(dd)
$0=abcdd $1=dd