Описание тега pattern-matching
Что такое сопоставление с образцом?
Сопоставление с образцом означает проверку соответствия структуры данных определенному образцу. Говоря абстрактно, паттерн может быть любым набором значений; однако большинство языков ограничивают шаблоны выражением структурных ограничений, таких как "все списки с как минимум двумя элементами" или "все матрицы 2x2, где элементы в (1,0) и (0,1) равны".
Такие языки, как ML, Haskell, Erlang и Mathematica, имеют базовые языковые конструкции для сопоставления с образцом. Другие языки, такие как Lisp, имеют производные конструкции сопоставления с образцом.
Сопоставление с образцом улучшает язык в двух направлениях: выразительность, поскольку сложные последовательности тестов могут быть написаны кратко, и производительность, поскольку компилятор может (по крайней мере, когда сопоставление с образцом является базовой конструкцией языка) оптимизировать такие конструкции для генерации оптимальное количество тестов (т.е. никогда не проверять дважды одно и то же условие).
Руководство по использованию тегов
Регулярные выражения - важный частный случай сопоставления с образцом в строках. Не используйте шаблон сопоставление тега для регулярных выражений вопросов, используйте регулярное выражение вместо тега.
Сопоставление с образцом обычно точное. Если вы ищете приблизительные шаблоны, например, при анализе изображений или речи, ищите "распознавание", а не "соответствие", например, распознавание образов.