\&を使った検索の絞り込み

1 AAABBBCCC
2 AAABBBDDD
3 AAABBBEEE
4 AAABBBFFF
5 AAABBBGGG

というテキストがある時に、

1 AAABBBCCC
2 AAABBBDDD
3 AAABBBEEE
4 AAABBBFFF
5 AAABBBGGG

3行目のAAABBBだけに検索をマッチさせたいとする。


この場合、7、8、9文字目が違うのに着目し、
\&を使って、次のように検索すると良い。

/AAABBBEEE\&AAABBB




検索パターンにおける\&は、ヘルプでは、次のように説明されているが、


ヘルプの説明(英語)

A branch is one or more concats, separated by "\&".  It matches the last
concat, but only if all the preceding concats also match at the same
position.

ヘルプの説明(日本語)

ブランチは、"\&" で分けられた1つ以上の連接からなります。全ての連接が同じ
場所でマッチした場合に限り、最後の連接がマッチします。


この説明にでてくる、the same position (同じ場所)というのは、
パターンがマッチする場所の先頭位置のことだって認識しておけば、そんなに間違いはない。
先頭位置さえ揃えれば、\&は、検索結果の絞り込みに使える。

(ほんとうか? そんな説明はどこにも見つからない。
 しかし、こういう挙動になっているように見える。なので、あまり、この記事を信じないこと。
 TODO:仕様に関する記述を探す。)