JavaScript 匹配

发布于 2024-10-08 03:07:44 字数 475 浏览 7 评论 0原文

假设这是我的代码,

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

玩心态 2024-10-15 03:07:44

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.

冰雪之触 2024-10-15 03:07:44

尝试以下代码。

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;";
        str = str.replace(/abc=/gi, '');
        document.write(str);

Try following 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;";
        str = str.replace(/abc=/gi, '');
        document.write(str);
地狱即天堂 2024-10-15 03:07:44

如果这就是你想要的

1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284, 1234587,19855284,1234587,19855284,1234587,19855284

然后尝试这个

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=/([\d]+)/g;
document.write(str.match(patt1));

或者你可以使用数组索引sjngm 提到

If this is what you want

1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284,1234587,19855284

then try this

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=/([\d]+)/g;
document.write(str.match(patt1));

or you can use the array index as sjngm mentioned

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文