1

挿入しようとしている文字が既に先行していない限り、別の特定の文字の前に文字を追加しようとしています。これは問題なく動作します (Z の前に n が既にある場合を除き、Z の前に n を挿入します)。

s/([^n])Z/$1nZ/g;

前に何もない単語境界を除いて。だから私が試したことを修正するために:

s/([\b^n])Z/$1nZ/g; # does not work

s/(\b|[^n])Z/$1nZ/g; # does work

#1 が機能しなかったのはなぜですか? スジは通ってるようだ?

4

2 に答える 2

0

みんなありがとう - ^ が CC の位置 1 で違うとは知らなかった。

CC の外側に移動して (先頭にタグを付けるため)、期待どおりに動作します。彼らがそれをした理由がわかると思います([]内で^を使用して、否定ではなくキャレットを示すことができます)。しかし、それを逃しても同じ効果があったようです。時々、ラリーは何を考えているのだろうと思うことがありますが、私たちの会社が OSCON の旅行を中止して以来、彼に会うことはもうありません.

とても有難い...

于 2015-09-10T15:46:15.530 に答える