gpt4 book ai didi

javascript - 从javascript中的字符串中提取所有数字

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:14:55 26 4
gpt4 key购买 nike

我想要给定字符串中的所有适当的自然数,

var a = "@1234abc 12 34 5 67 sta5ck over @ numbrs ."
numbers = a.match(/d+/gi)

在上面的字符串中,我应该只匹配数字 12、34、5、67,而不是第一个单词 5 等中的 1234。

所以数字应该等于 [12,34,5,67]

最佳答案

使用单词边界,

> var a = "@1234abc 12 34 5 67 sta5ck over @ numbrs ."
undefined
> numbers = a.match(/\b\d+\b/g)
[ '12', '34', '5', '67' ]

解释:

  • \b 匹配单词字符(\w)和非单词字符(\W)的单词边界。
  • \d+ 一个或多个数字。
  • \b 单词字符和非单词字符匹配的单词边界。

> var myString = '@1234abc 12 34 5 67 sta5ck over @ numbrs .';
undefined
> var myRegEx = /(?:^| )(\d+)(?= |$)/g;
undefined
> function getMatches(string, regex, index) {
... index || (index = 1); // default to the first capturing group
... var matches = [];
... var match;
... while (match = regex.exec(string)) {
..... matches.push(match[index]);
..... }
... return matches;
... }
undefined
> var matches = getMatches(myString, myRegEx, 1);
undefined
> matches
[ '12', '34', '5', '67' ]

代码从 here 中窃取.

关于javascript - 从javascript中的字符串中提取所有数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25107905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com