检查句子中是否存在日期字符串(dd / mm / yyyy)?

时间:2019-01-11 14:31:04

标签: javascript regex

如何使用正则表达式检查句子中是否存在日期字符串(dd / mm / yyyy)?

我使用的正则表达式如下。它找不到任何匹配项。

var text = "...event held on 21/05/2018 at ...."
var match = text.match(/(\d{2})\/(\d{2})\/(\d{4})$/);

解决这个问题的有效方法是什么?

谢谢前进!

2 个答案:

答案 0 :(得分:2)

$anchor point in a regex

  

它们根本不匹配任何字符。相反,他们匹配一个职位   字符之前,之后或之间。 ...   $匹配字符串中的最后一个字符。   c$匹配abc中的c,而a$完全不匹配。

因此,仅当字符串结尾 21/05/2018时,您的正则表达式才会匹配。您可以将正则表达式简化为:

/\d{2}\/\d{2}\/\d{4}/

我删除了匹配的组(大括号()),因为您并不是隐式需要它们。 https://regexr.com/4686u

答案 1 :(得分:1)

\d{2}\/(\d{2})\/\d{4}很好。 $是不必要的:)