gpt4 book ai didi

javascript - 有人可以解释这个正则表达式片段吗?

转载 作者:搜寻专家 更新时间:2023-11-01 00:11:47 26 4
gpt4 key购买 nike

我发现这个替换代码看起来像是正则表达式,但我无法破译

new Date().toISOString().
replace(/[z|t|\.]/gim," ").
replace(/\d{3}\s$/gim, " ").
replace(/:\d{2}\s+$/, " ").
trim() + "\n")

抱歉,如果这含糊不清。我不太确定我在看什么

最佳答案

代码

new Date().toISOString()

生成的东西看起来像这样

2015-07-01T17:21:22.123Z

正则表达式会将其放入格式

2015-07-01 17:21

所有正则表达式都有标志 gmi。直接从 regex101 这意味着:

g modifier: global. All matches (don't return on first match)

i modifier: insensitive. Case insensitive match (ignores case of [a-zA-Z])

m modifier: multi-line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string)

第一个正则表达式

[z|t|\.]

其实已经有错了。编写它的人假定 | 表示 但方括号内的情况并非如此。最好写成

[zt\.]

这将匹配 2015-07-01T17:21:22123Z 然后替换

replace(/[z|t|\.]/gim," ")

将用空格替换与该正则表达式匹配的每个字符。给你新的字符串

2015-07-01 17:21:22 123

下一个正则表达式 \d{3}\s$ 匹配并替换 2015-07-01 17:21:22 123 ,给你:

2015-07-01 17:21:22

最后正则表达式 :\d{2}\s+$ 匹配并替换 2015-07-01 17:21:22 ,给你

2015-07-01 17:21

然后多余的空格被剪掉。

总而言之,这不是做你想做的事的好方法。正如其他人已经说过的那样,您可能可以使用子字符串或 momentjs 做得更好。

关于javascript - 有人可以解释这个正则表达式片段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31167786/

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