gpt4 book ai didi

javascript - 如何在 JavaScript 中使用 RegExp 从这个简单的字符串中提取数字?

转载 作者:行者123 更新时间:2023-11-30 13:38:49 25 4
gpt4 key购买 nike

我需要从以下简单字符串中提取数字:

base:873

其中“base:”部分是可选的,即它可能/可能不存在于字符串中。

我应该如何使用 RegExp 从上述字符串中提取数字?

P.S.:很遗憾看到其他正则表达式实现与 JavaScript 实现之间存在如此大的差异。

TIA,迈赫迪

更新 1:

考虑这个循环:

for (var i = 0; i < 3; i++) {
code = '216';

var matches = /(bid:)?(\d+)/ig.exec(code);
if (matches != null) {
console.log('>>>' + matches[0]);
}
else {
console.log('>>> no match');
}
}

请注意,“代码”变量是在循环内设置的,仅用于测试目的。然而,令人惊奇的是,上面提到的代码打印了这个:

>>>216
>>> no match
>>>216

这怎么可能???

最佳答案

好吧,如果 base: 是可选的,你不需要关心它,是吗?

\d+

就是你所需要的。

result = subject.match(/\d+/);

将返回字符串 subject 中的(第一个)数字。

或者您的意思是:只有当数字是字符串中唯一的东西,或者它前面有 base: 时才匹配数字?

在这种情况下,使用 ^(?:base:)?(\d+)$

var match = /^(?:base:)?(\d+)$/.exec(subject);
if (match != null) {
result = match[1];
}

关于javascript - 如何在 JavaScript 中使用 RegExp 从这个简单的字符串中提取数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3433564/

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