Я читал в регулярных выражениях документацию о «Тильде для вложенных структур».
Дополнительное объяснение использования <?>
:
Здесь <?>
успешно совпадает пустая строка.
Я предполагал, что смог использовать <?[]>
вместо него, но это не удалось!
Как пример:
say so "" ~~ / <?> /;
say so "test" ~~ / <?> /;
say so "" ~~ / <?[]> /;
say so "test" ~~ / <?[]> /;
Ответ:
True
True
False
False
Может ли кто-нибудь дать мне объяснение по этому поводу?