逗号到底在正则中又没有特殊含义??

2303191 2008-03-28 04:44:10
<html>
<body>

<script type="text/javascript">

var str = "Visit W3School, W3School, is, a place to study web technology.";
var patt = new RegExp(",","g");
var result;

while ((result = patt.exec(str)) != undefined) {


document.write(result);
document.write("<br />");

document.write(result.index);
document.write("<br />");

}
document.write(str.match(patt));

</script>

</body>
</html>



结果,为什么不一样呢

,
14
,
24
,
28
,,,,,
...全文
212 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
haoya1 2008-03-29
  • 打赏
  • 举报
回复
当然有含义啦

比如{1,2}就有逗号
Go 旅城通票 2008-03-28
  • 打赏
  • 举报
回复
因为str.match(patt)返回一个数组..

更正..
Go 旅城通票 2008-03-28
  • 打赏
  • 举报
回复
不是多2个逗号,是因为str.match(patt)返回一个数据,你直接docoument.write(数组)时,会调用数组.join方法,默认连接字符为,
改这样

document.write(str.match(patt).join("")); 
2303191 2008-03-28
  • 打赏
  • 举报
回复
那match方法为什么多输出2个逗号??
rjzou2006 2008-03-28
  • 打赏
  • 举报
回复
正常情况下是没有的。

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧