运用变换规则
| expr/.lhs->rhs | 对 expr 运用变换规则 |
| expr/.{lhs1->rhs1,lhs2->rhs2,...} | 将一列变换规则用于 expr 的每一项 |
运用变换规则.
在表达式上,替换运算符

的使用.
| Out[1]= |  |
可给出一列变换规则,将每个规则分别用到表达式的每一项.
| Out[2]= |  |
| expr/.{rules1,rules2,...} | 将规则 中的每个用于表达式 expr |
运用一列变换规则.
| Out[3]= |  |
| Out[4]= |  |
运用这些规则可以得到一列结果,每个结果都对应一个解.
| Out[5]= |  |
将每一个规则逐次用到 expr 的每一项. 在此过程中进行相应的变换以得到结果.
先用规则

,当它无法运用时用规则

.
| Out[6]= |  |
规则一旦使用就立即产生结果,故里面的

还没有变.
| Out[7]= |  |
替换
中的每个法则对 expr 中的每一项只使用一次.
由于每个规则正好用一次,所以这里是交换

和

.
| Out[8]= |  |
| Out[9]= |  |
有时需要反复使用规则,直到表达式不再变换为止,这可通过反复替换运算
(或 ReplaceRepeated[expr, rules])来实现.
| expr/.rules | 在 expr 的每一项中用变换规则一次 |
| expr//.rules | 重复使用规则直到结果不再变化为止 |
一次或多次重复使用规则.
单一替代运算

使规则在表达式中各项上仅用一次.
| Out[10]= |  |
重复替代运算

使得规则被反复使用直到表达式不再变化为止.
| Out[11]= |  |
| Out[12]= |  |
| Out[13]= |  |
用
时,Mathematica 将给定的规则反复使用到表达式上,直到相继的两个结果相同为止.
当使用一系列循环规则时,
能一直得到不同的结果. 在实际操作中,对一个特定表达式
所能进行的最大循环次数取决于选项的设置. 用可选项 MaxIterations 可以确定对一个表达式的迭代次数. 当需要一直替换下去时,可以用 ReplaceRepeated[expr, rules, MaxIterations->Infinity] 来实现. 通过中断 Mathematica 总可以停止迭代.
| Out[14]= |  |
替换运算
和
的特点是将每个规则用在表达式的各项上,而 Replace[expr, rules] 将规则用在整个表达式 expr 上,不能用于表达式的一部分.
可以把 Replace 和 Map 以及 MapAt 等共同来指定规则用在表达式的哪一部分上. 另外, ReplacePart[expr, new, pos] 可以用给定的目标来代替表达式的项.
操作符

将规则运用到表达式的每一项.
| Out[15]= |  |
| Out[16]= |  |
| Out[17]= |  |
将规则运用到第2层从而替换了

.
| Out[18]= |  |
| expr/.rules | 将规则运用于表达式 expr 的子项 |
| Replace[expr,rules] | 仅将规则运用于整个表达式 expr |
| Replace[expr,rules,levspec] | 将规则用到由 levspec 指定层表达式 expr 的项上 |
对整个表达式运用规则.
| Out[19]= |  |
| Out[20]= |  |
| Out[21]= |  |
| Out[22]= |  |
| Out[23]= |  |
用一种方式或所有可能方式运用规则.