Я изучаю регулярное выражение. Когда я соответствовать этому:Regex - Почему знак вопроса ведет себя так?
\d[^\w]\d
на этом
30-01-2003 15:20
я получаю 3 матча: 0-0, 1-2, 3 5, и 5: 2. Когда я пытаюсь добавить знак вопроса в конце регулярного выражения (\d[^\w]\d?
), мои совпадения не меняются. Когда я перехожу к вопросительному знаку после квадратной скобки (\d[^\w]?\d
), совпадения теперь 30, 01, 20, 03, 15 и 20. Когда я перемещаю вопросительный знак до квадратной скобки (\d?[^\w]\d
), мой совпадения те же, что и в первом случае.
Почему это? Я знаю, что оператор ?
отмечает предыдущий символ как необязательный, поэтому я ожидал поведения во втором случае, но не в первом или третьем.
Если вы не знаете, https://regex101.com анализирует и объясняет регулярные выражения довольно хорошо. –
Спасибо. Я проверю это – shalvah