非捕获组仍然捕获输入

时间:2016-12-13 12:59:47

标签: javascript regex

我有一个日期格式,可以按以下格式输入:

UILabel

所以我试图匹配并捕获所有这些输入事件,最终得到这样的结果:

December, 13, 2016 
December , 13 , 2016
December    ,13    ,   2016 
.
.
.

我的RegEx看起来像这样:

December 13 2016

相信我,我在发布问题之前尝试在网络上搜索解决方案,但没有任何优势。有任何建议如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您必须捕获要提取的部分。例如,

matches = "December    ,13    ,   2016".match(/([a-zA-Z]+)[ ,]*([0-9]{1,2})[ ,]*([0-9]+)$/)
console.log(matches[1] + ' ' + matches[2] + ' ' + matches[3])
// December 13 2016
  • ([a-zA-Z]+)将月份名称捕获到matches[1]
  • ([0-9]{1,2})截取日期。
  • ([0-9]+)夺取年份。
  • [ ,]*(?: |,)相同,但没有使用字符类的组。