Javascript 使用正则表达式匹配日期格式但不带方括号

Javascript 使用正则表达式匹配日期格式但不带方括号,javascript,regex,datepicker,capturing-group,Javascript,Regex,Datepicker,Capturing Group,这就是我所拥有的。我只想匹配日期格式YYYY-MM-DD或{{variable name}}=YYYY-MM-DD,它们在方括号中。我尝试使用以下正则表达式: 此正则表达式用于YYYY-MM-DD格式: (\[[\d-]*\]) 这接受{variable name}}=YYYY-MM-DD模式: (\[{{[\w-_]*}}=[\d-]+\]) 这些正则表达式是匹配的日期格式和方括号,但是,我想同时删除方括号。如何将方括号排除在非捕获组(?:)之外 在此处测试此表达式: 如有任何建议,将不胜

这就是我所拥有的。我只想匹配日期格式
YYYY-MM-DD
{{variable name}}=YYYY-MM-DD
,它们在方括号中。我尝试使用以下正则表达式:

此正则表达式用于YYYY-MM-DD格式:

(\[[\d-]*\])
这接受{variable name}}=YYYY-MM-DD模式:

(\[{{[\w-_]*}}=[\d-]+\])
这些正则表达式是匹配的日期格式和方括号,但是,我想同时删除方括号。如何将方括号排除在非捕获组(
?:
)之外

在此处测试此表达式:

如有任何建议,将不胜感激

 use this RegEX
((?!\[)[\d\-]+(?=\]))|((?!\[){{[\w-_]*}}=[\d-]+(?=\]))

根据您的需要:

  • 匹配方括号但不捕获它们:

    \[([\d-]*)\]\[({{[\w-\]*}}=[\d-]+)\]

  • 与括号不匹配:


    (?这不正是你想要的吗?多亏了@Paul Etienne,第二个就可以正常工作了,但是
    [
    中的冗余)(?你说得对,我错过了尝试多个正则表达式的机会。我修复了它。非常感谢。当我在regex101中测试时,这很有效。