Системы компьютерной алгебры (как, например, Mathematica) используют обозначения правил, подобные следующим для дифференцирования:
D[Cos[x_],y_]:=(-1)*Sin[x]*D[x,y]
D[Sin[x_],y_]:=Cos[x]*D[x,y]
эти правила преобразования также иногда называют "правилами сопоставления с образцом", но они не имеют ничего общего с регулярным выражением сопоставления с образцом для строк.
См. Введение в паттерны для получения дополнительной информации.
Я знаю эти проекты Java с открытым исходным кодом, которые содержат похожий механизм сопоставления с шаблоном: