Я думаю, что ваше замешательство основано на различиях между подстановочными символами, скрывающими оболочку (символ *
) и символом регулярного выражения (символ *
). Регулярные выражения не являются оболочечными, они гораздо более мощные и полезные, но для повседневного использования оболочек подстановочные знаки и оболочечные "достаточно хороши".
- Как я могу использовать только Regex вместо подстановочных знаков?
Не используйте оболочку. Напишите сценарий Perl / Python / Ruby / [your-choice-scripting-language-here], чтобы сделать эту работу за вас. Вероятно, будет быстрее, так как не нужно будет так много разветвляться.
- Где вам действительно нужны символы подстановки и глобализации, если вы можете использовать Regex?
Нет. Но в большинстве оболочек у вас нет регулярных выражений, поэтому у вас есть глобусы. Думайте о них как о регулярном выражении бедняка.
- Были ли регулярные выражения из групповых символов или наоборот?
Регулярные выражения взяты из теории множеств, в частности, ранних текстовых редакторов (один из ранних текстовых редакторов Unix под названием ed
имел функцию, похожую на регулярные выражения, которая затем повторно использовалась в небольшой программе под названием grep
, которую вы могли бы иметь слышал о). Я предполагаю, что подстановочные знаки были только особенностями раковины. Они не могут быть сложными для реализации, поэтому разработчики оболочки добавят их довольно быстро и с небольшими накладными расходами.