Я хотел бы иметь возможность иметь шаблон, который соответствует только выражениям, которые (альтернативно: не являются) дочерними элементами некоторых других элементов.
Для Например, шаблон для соответствия всем спискам List
за пределами объекта Graphics
:
{ {1,2,3}, Graphics[Line[{{1,2},{3,4}}]] }
Этот шаблон будет соответствовать {1,2,3}
, но не {{1,2}, {3,4}}
.
Есть относительно простые способы извлечь выражения, соответствующие этим критериям, но шаблоны предназначены не только для извлечения, но и для замены , который является моим основным вариантом использования здесь ( ReplaceAll
).
Знаете ли вы какие-либо простые, краткие и общие способы сделать это?
Это возможно ли это вообще сделать с помощью простых шаблонов?