Javascript 仅返回字符串的匹配部分

Javascript 仅返回字符串的匹配部分,javascript,regex,Javascript,Regex,我有绳子 var v = "09/30/2016 12:00am - 2:00am"; 我只需要获取此字符串的日期部分:“09/30/2016” 我有正则表达式 var dateFormatRegex = /^(0[1-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])\/(19|20)\d\d$/ig; 但它仅在只有日期字符串时匹配字符串 我应该在正则表达式中添加什么才能从string09/30/2016中获取09/30/2016 12:00am-2:00am?您就快

我有绳子

var v = "09/30/2016 12:00am - 2:00am";
我只需要获取此字符串的日期部分:
“09/30/2016”

我有正则表达式

var dateFormatRegex = /^(0[1-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])\/(19|20)\d\d$/ig;
但它仅在只有日期字符串时匹配字符串

我应该在正则表达式中添加什么才能从string
09/30/2016
中获取
09/30/2016 12:00am-2:00am

您就快到了

您唯一的错误是在正则表达式的末尾放了一个
$
,这使得它与您发布的字符串不匹配

使用将返回匹配组的数组-在本例中,您只有一个匹配组,然后可以使用
匹配[0]

var dateFormatRegex = /^(0[1-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])\/(19|20)\d\d/ig;
// removed $ as in the target strings there is still stuff after the date

var v = "09/30/2016 12:00am - 2:00am";
var matches = v.match(dateFormatRegex);
var date = matches[0]; // === 09/30/2016"

它必须是正则表达式吗
v.split(“”)[0]
要从已知良好格式的字符串中获取该值,您可以
var datePart=v.substr(0,10)
看看@ThinkingMedia,也许你是对的,但我有点吃惊)如果你想匹配不只是日期的其他字符串,请从正则表达式末尾删除
$
。这是一个单独的问题,因此请为此创建一个新问题