Использование регулярных выражений для соответствия формату даты, но без квадратных скобок

1

Изображение 174551

Это то, что у меня есть. Я хочу только сопоставить формат даты YYYY-MM-DD или {{variable-name}}=YYYY-MM-DD который {{variable-name}}=YYYY-MM-DD в квадратные скобки. Я попытался использовать следующее регулярное выражение:

Это регулярное выражение для формата YYYY-MM-DD:

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

Это принимает шаблон {{variable-name}} = YYYY-MM-DD:

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

Эти регулярные выражения соответствуют формату даты и квадратным скобкам, однако я хочу удалить квадратные скобки одновременно. Как я могу исключить квадратные скобки с группой без захвата (?:.

Проверьте это выражение здесь: regex101

Мы ценим любые предложения.

Теги:
datepicker
capturing-group

2 ответа

1
Лучший ответ

В зависимости от того, что вы хотите:

  • Согласование квадратных скобок, но не захват их:

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

См. Демонстрацию.

  • Не соответствует скобкам:

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

См. Другие демо.

  • 0
    Благодаря @ Paul-Etienne, второй работает так, как и ожидалось, но [ это избыточность в вашем (?<=\[)([[\d-]*)(?=\]) .
  • 0
    Вы правы, я пропустил несколько попыток регулярных выражений. Я починил это.
1
 use this RegEX
((?!\[)[\d\-]+(?=\]))|((?!\[){{[\w-_]*}}=[\d-]+(?=\]))

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

  • 0
    Большое спасибо. Это сработало, когда я тестировал в regex101.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню