在文字

时间:2015-10-05 13:17:25

标签: javascript regex node.js text-mining

我想在文档中找到日期。

将此日期返回数组。

假设我有这样的文字:

On the 03/09/2015 I am swiming in a pool, that was build on the 27-03-1994

现在我的代码应该返回['03/09/2015','27-03-1994']或者只返回数组中的两个Date对象。

我的想法是用正则表达式解决这个问题,但方法search()只返回一个结果,而test()我只能测试一个字符串!

你将如何解决这个问题?特别是当你不知道日期的确切格式时?感谢

1 个答案:

答案 0 :(得分:5)

您可以将 match() 与正则表达式 /\d{2}([\/.-])\d{2}\1\d{4}/g

一起使用

var str = 'On the 03/09/2015 I am swiming in a pool, that was build on the 27-03-1994';

var res = str.match(/\d{2}([\/.-])\d{2}\1\d{4}/g);

document.getElementById('out').value = res;
<input id="out">

Regular expression visualization

或者你可以借助捕获小组来做这样的事情

var str = 'On the 03/09/2015 I am swiming in a pool, that was build on the 27-03-1994';

var res = str.match(/\d{2}(\D)\d{2}\1\d{4}/g);

document.getElementById('out').value = res;
<input id="out">

Regular expression visualization