我这里有一个以这种方式在 Vi 中加密的文本:
1,$s/\(.\)\1/&&/g
1,$s/\(.\)\(.\)\2\2\2/\2\2\2\1\2/g
1,$s/\(.\)\(.\)\(.\)\(.\)/\3\1\4\2/g
1,$s/\(...\)\(...\)/\2\1/g
任务是为每个正则表达式编写一个新的正则表达式,以撤消更改,即所谓的文本解密。
我想出了如何撤消最后两个更改:
:1,$s/\(...\)\(...\)/\2\1/g
:1,$s/\(.\)\(.\)\(.\)\(.\)/\2\4\1\3/g
我想让你解释一下前两个正则表达式的作用。正斜杠之前的 \1 或 \2\2\2 是什么意思?我假设在斜线之后他们改变了位置(但是仅仅写 \2\1 而不是 \2\2\2\1\2(这是什么意思?)还不够吗?我只是不明白它)。& 或 && 是什么意思?
谢谢