\&を使った検索の絞り込み
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:仕様に関する記述を探す。)