gpt4 book ai didi

javascript - 正则表达式替换的意外结果

转载 作者:行者123 更新时间:2023-11-28 12:34:05 27 4
gpt4 key购买 nike

为什么会这样

>> 'Tøjstørrelse'.replace(/[^A-Za-z0-9]*/g, '_'); 

结果

"_T__j_s_t__r_r_e_l_s_e_"

而不是

"Tjstrrelse"

如我所料?

更新:这个问题是为了让我理解这种行为。我知道 'Tøjstørrelse'.replace(/[^A-Za-z0-9]+/g, '_'); 给出了所需的结果。

最佳答案

因为 [^A-Za-z0-9]* 匹配每个不匹配字符之前的空字符串。将 * 替换为 + 即可正常工作

* 相当于 {0,} 表示匹配 0 个或多个先前的构造 ==> 出现 0 次表示每次出现空字符串时都会匹配没有匹配的字符!

+ 相当于 {1,} 表示它至少需要出现一次才能匹配。

'Tøjstørrelse'.replace(/[^A-Za-z0-9]+/g, '_');

这将导致

T_jst_rrelse

关于javascript - 正则表达式替换的意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18979960/

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