PHP regex non-capture non-match group

Я делаю регулярное выражение для сопоставления дат, и все идет хорошо, у меня пока что:

"/(?:[0-3])?[0-9]-(?:[0-1])?[0-9]-(?:20)[0-1][0-9]/"

Будет (надеюсь ) соответствуют однозначным или двузначным числам дней и месяцев, а также двузначным или четырёхзначным числам в 21 веке. Несколько попыток и ошибок зашли так далеко.

Но у меня есть два простых вопроса относительно этих результатов:

  1. (?:) как простое объяснение этому? Очевидно, это не подходящая группа. Но тогда ...

  2. Для чего конечный ? ? например (?)?

15
задан alex 26 November 2013 в 20:35
поделиться