« # 翻訳者のための正規表現~基本その2 | トップページ | # 2012年のクリスマスはターキー »

2012.12.17

# 翻訳者のための正規表現~基本その3

ここまで、基本その1~基本その2で説明してきたパターンのルールは、大ざっぱに言うと

・1文字単位のヒット

・いろいろな繰り返しパターン

のバリエーションでした。範囲も指定しましたが、ヒットするのはあくまでもその範囲の1文字、でした。


基本その3では、文字列のかたまりを扱うパターンについて説明します。



論理和(OR)
縦棒(|)
機能:縦棒で区切ってと並べた文字列のいずれかにヒット

論理和などと言うと難しそうに聞こえますが、まあ気にしないでくださいw 縦棒で並べる語句の数は、環境によって制限があったりなかったりします。

例:

日本|イタリア|ドイツ

先の大戦で負けた、いずれかの国名にヒットします。


仁|義|礼|智|忠|信|孝|悌

八犬伝でおなじみの8文字のいずれかにヒットしますが、これが無意味なことはもうおわかりだと思います。すでにやった [仁義礼智忠信孝悌] のパターンを使うべきです。


グループ化
丸カッコ ( )
機能:カッコで囲った文字列をグループとしてひとまとめにする

これを覚えると、指定できるパターンがぐっと広がります。ぜひ、基礎としてここまではマスターしてください。

1文字の繰り返しは、クエスチョンマーク(?)、アスタリスク(*)、プラス(+)のいずれかでしたが、2文字以上を繰り返したいときにはどうすればいいでしょうか。たとえば、「レレレ~」ではなく、「オラオラオラ~!」みたいな場合。

こういうとき、「オラ」を丸カッコでグループ化します。

(オラ)+

こうすると、

オラ、悟空だ」にも「オラオラオラ~!」

にもヒットします。


最初にやった縦棒のORも、実はこの丸カッコと組み合わせるともっと実用性がアップします。

日本|イタリア|ドイツ

のそれぞれに「~軍」と続けるにはどうすればいいか、ちょっと考えてみてください。

日本|イタリア|ドイツ軍

では、「日本、イタリア、ドイツ軍」のいずれかになってしまいます。そこで、

日本|イタリア|ドイツ

のかたまりを丸カッコでくくり、

(日本|イタリア|ドイツ)軍

とすれば、3カ国の軍ぜんぶにヒットします。


accessor(y|ies)

英字でもやってみます。これでaccessoryの単数複数、両方にヒットします。



【今回のまとめ】

●縦棒で区切ると、ORとして機能する

●縦棒で、文字列の「いずれか」にヒットする

●1文字単位にも縦棒は使えるが、あまり意味はない

●丸カッコで文字列をグループ化できる

06:17 午後 翻訳者のPCスキル |

はてなブックマークに追加

« # 翻訳者のための正規表現~基本その2 | トップページ | # 2012年のクリスマスはターキー »

トラックバック


この記事へのトラックバック一覧です: # 翻訳者のための正規表現~基本その3:

コメント

この記事へのコメントは終了しました。