« July 2017 | Main

August 2017

2017.08.27

中間に大文字を含むコマンド

中間に大文字を含むコマンド、例えばDataBindingといったようなコマンドがある。そのコマンドをそのまま訳文に流し込みたいことがある。

1回だけなら手作業でコピーして貼り付けるか、個別にコピーの指定をすればよい(指定文字列は翻訳辞書を適用したときにそのまま訳文に反映される)。しかし同じようなコマンドが何回も出てくるときに一つずつコピーしたり指定するのは大変なこと。そのような文字列を自動的にコマンドと認識する方法はないか。

そこでこの文字列を正規表現にすることを考える。眺めていると先頭が大文字で中間部にも大文字がある。正確にいえば、先頭大文字、その次に小文字がいくつかあり、再び大文字となり、その後に小文字が続くという形式になっている。そういうことか。できた。

([A-Z]{1})([a-z]{1,})([A-Z]{1})([a-z]{1,})

これを辞書に組み込むと個別指定は不要になる。辞書を適用すると訳文にこの形式のコマンドがすべてコピーされる。

このような考え方は、メールアドレスやホームページのURL等をそのまま訳文に流し込むときにも応用できる。メールアドレスで、どのような文字がどのような規則で出現するかを観察し、それを正規表現で書いてみるのである。

その先には、ある程度の翻訳をしたり順番を替えたりしながら原文の情報を訳文側に流し込むという工夫があるが、それについてはまた別の機会に譲る。

| | Comments (0) | TrackBack (0)

« July 2017 | Main