使用正则表达式匹配日期格式但没有方括号

Using regex to match date format but without square brackets

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

YYYY-MM-DD 格式的正则表达式:

(\[[\d-]*\])

这接受 {{variable-name}}=YYYY-MM-DD 模式:

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

这些正则表达式匹配日期格式和方括号,但是,我想同时去掉方括号。如何排除非捕获组 (?:) 的方括号。

在这里测试这个表达式:regex101

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

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

https://regex101.com/r/jocLVP/3

取决于你想要什么:

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

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

See demo.

  • 括号不匹配:

    (?<=\[)([\d-]*)(?=\])|(?<=\[)({{[\w-_]*}}=[\d-]+)(?=\])

See other demo.