先読みと後読みの間

ときどきの雑記帖 リターンズ 2006年12月

連続だ。

dereference を日本語にしようとすると悩みませんか? referece は「参照」で固まっちゃってますが、dereferece を日本語の名詞で表そうとするとぴったり来るものがないと思うのですが。

自分が悩むのは正規表現の lookahead と lookbehind ですね。まぁ自分で訳してて悩むってわけじゃなくて、日本語のページを読んでいても意味が分からなくて英語の方を読んだら分かった、ということなんですが。

ちなみにサンプルを書くとこういうやつね。

先読み lookahead
RE(?=re)
RE(?!re)
後読み lookbehind
(?<=re)RE
(?<!re)RE

先読みは比較的多くの実装で使えるけど、後読みは使えないものが結構多くて困る。個人的に困ったのは Ecma262 3rd で使えなかったとき。

で、なんで悩んだかっていうと、この先と後がどうも時間軸のことを言っているように読めてしまったから。違うんですね。マッチさせたい正規表現の前方にどのような文字列がくるか、あるいはこないか、後方にどのような文字列がくるか、あるいはこないか、ということなんですな。before, after のことではないと。

たぶん前方後方って書いちゃうと後方参照(backreference)と紛らわしいから先読み後読みになったんだろうなぁ。この辺の表現てどうも日本語は弱いですな。

More