gpt4 book ai didi

javascript - 正则表达式将日期与字符串匹配为月份

转载 作者:行者123 更新时间:2023-11-30 16:51:33 25 4
gpt4 key购买 nike

我有以下字符串:

var cur = "t+20d";

而且我要匹配它。我已经用过的那部分

if(cur.match(/^[t]\+[0-9]{2,4}[dmyw]/i))

现在我还需要能够匹配这个字符串,而且最好是在同一个正则表达式中

var cur = "10may15+20d";

我试过了

  cur.match(/^([t]|([0-9]{1,2}(jan|feb|march|apr|may|jun|jul|aug|sept|okt|nov|dec)))\+[0-9]{2,4}[dmyw]/i) 

但它没有按预期工作。

如果我尝试编译子部分,我会得到两个数组而不是一个

 cur.match(/[0-9]{1,2}(jan|feb|march|apr|may|jun|jul|aug|sept|okt|nov|dec)/i);
//yields ["10MaY", "MaY"]

这让我担心误报。

我对正则表达式真的生疏了,上次我尝试制作一个复杂的正则表达式是在 15 年前,那是在 perl 中,所以我真的可以在这方面得到一些帮助。我知道 OR 和分组匹配是可能的,我只是不知道该怎么做,所以需要一些帮助。

最佳答案

您需要匹配月份之后存在的数字。

^(t|[0-9]{1,2}(?:jan|feb|march|apr|may|jun|jul|aug|sept|okt|nov|dec)\d+)\+[0-9]{2,4}[dmyw]

DEMO

关于javascript - 正则表达式将日期与字符串匹配为月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30451979/

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