如何使用正则表达式检查句子中是否存在日期字符串(dd / mm / yyyy)?
我使用的正则表达式如下。它找不到任何匹配项。
var text = "...event held on 21/05/2018 at ...."
var match = text.match(/(\d{2})\/(\d{2})\/(\d{4})$/);
解决这个问题的有效方法是什么?
谢谢前进!
答案 0 :(得分:2)
它们根本不匹配任何字符。相反,他们匹配一个职位 字符之前,之后或之间。 ...
$
匹配字符串中的最后一个字符。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}
很好。 $是不必要的:)