javascript - 如何使用正则表达式在 javascript 的字符串中获取两个日期中的第二个?

标签 javascript jquery regex

我只需要从如下所示的字符串中提取最后 日期:

第 1 周:03/06/11 - 03/13/11\n

我可以使用什么正则表达式来获取“03/13/11”?

最佳答案

您可以使用正则表达式来匹配第一个和第二个日期,然后仅引用第二个匹配项:

var str = "Week 1: 03/06/11 - 03/13/11\n";
var secondDate;
var matches = str.match(/(\d+\/\d+\/\d+)\s*-\s*(\d+\/\d+\/\d+)/);
if (matches) {
    secondDate = matches[2];
}

在回答您的其他问题时,匹配“03/13/11”的特定正则表达式是:

/\d+\/\d+\/\d+/

这意味着:

one or more digits 
followed by a / 
followed by one or more digits 
followed by a slash 
followed by one or more digits.

在这里使用正则表达式的好处是,您可以更轻松地为可变间距、第二个日期后的字符串中的字符等构建灵 active ......例如,这个正则表达式适用于所有这些:

Week 1: 03/06/11 - 03/13/11\n
Week 1: 3/06/11 - 3/13/11\n
Week 1: 3/06/2011 - 3/13/2011\n
Week 1: 3/6/11 - 3/13/11\n
Week 1: 03/06/11 - 03/13/11
Week 1: 03/06/11-03/13/11\n
Week - 1: 03/06/11 - 03/13/11\n
Week 1: 03/06/11 - 03/13/11 and Week 2: 03/014/11 - 03/18/11

此外,matches[1] 也是第一个日期,因此如果有帮助,您也可以使用正则表达式获得两个日期。

使用 splitindexOf 提供的其他方法不一定具有自动处理所有这些不同格式的灵 active 。

关于javascript - 如何使用正则表达式在 javascript 的字符串中获取两个日期中的第二个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7772677/

相关文章:

javascript - Bootstrap3 限制选择和淡入淡出未选中

javascript - 使用列分组属性的 Tabulator js 库问题

javascript - 我可以重置 jQuery 粘性导航栏功能吗?

c++ - 使用正则表达式检测表达式中的术语

regex - Powershell函数在文本文件中替换或添加行

ruby-on-rails - 如何解析文本以获得所有提及者?

javascript - 删除使用绑定(bind)添加的事件监听器

javascript - 如果其他元素具有该类,如何停止将类添加到该元素?

Jquery:将数据宽度存储在变量中并将其应用于伪元素

javascript - Google Chrome 扩展程序 - 脚本注入(inject)