JavaScript 匹配
假设这是我的代码,
var str="abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;";
var patt1=/abc=([\d]+)/g;
document.write(str.match(patt1));
我希望输出为 1234587,19855284
这不会返回数字,而是返回模式中的完整字符串 如果我从模式中删除“g”,它会返回 abcd=1234578,1234578 我做错了什么?
Suppose this is my code
var str="abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;abc=1234587;abc=19855284;";
var patt1=/abc=([\d]+)/g;
document.write(str.match(patt1));
i want the output as 1234587,19855284
this doesnt return the number but instead returns the complete string which is in the pattern
if i remove 'g' from the pattern it returns abcd=1234578,1234578 what am i doing wrong??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
match()
返回一个数组。第一个条目(索引 0)始终是匹配的字符串。接下来,您将获得匹配的组。数组的 toString() 逻辑获取所有元素并用“,”将它们连接起来。您可以使用例如
join("-")
来更改它。match()
returns an array. The first entry (index 0) is always the matching string. Following that you get the matching group(s).The
toString()
-logic of an array takes all elements and joins them with ", ". You can use e.g.join("-")
to change that.尝试以下代码。
Try following code.
如果这就是你想要的
然后尝试这个
或者你可以使用数组索引sjngm 提到
If this is what you want
then try this
or you can use the array index as sjngm mentioned