gpt4 book ai didi

使用带有量词的字符类的 JavaScript 正则表达式

转载 作者:行者123 更新时间:2023-12-02 17:58:19 24 4
gpt4 key购买 nike

我有:

var regex = /[\d]*/;

var str = 'tom123is456';

var match = str.match( regex );

document.write(match);

我本来期待返回 123456。

根据我的理解,askterisk (*) 告诉引擎匹配 0 次或多次出现的某事,加号 (+) 告诉引擎匹配一次或多次出现的某事。现在“\d”是 0-9 的缩写。

在上面的例子中我什么也没得到。当我使用加号 (+) 时,我返回 123。任何人都可以解释为什么会发生这种情况吗?

最佳答案

您不应该混淆全局搜索和没有/*一个*以及更多匹配结果。如果需要匹配字符串中的所有数字,请使用全局 g 标志:

'tom123is456'.match(/\d/g);  // ["1", "2", "3", "4", "5", "6"]

要获取后续 token 匹配,请使用 *+:

'tom123is456'.match(/\d+/g);  // ["123", "456"]

引用: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Advanced_Searching_With_Flags

关于使用带有量词的字符类的 JavaScript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20802341/

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