正規表現における構文

文字列検索と分節化規則で使用する正規表現は、Javaがサポートしているものです。より詳細な情報については http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/regex/Pattern.html を参照してください。以下の構文一覧と使用例も参照してください。 

フラグ

文字

引用

Unicode ブロックとカテゴリのクラス

文字クラス

定義済みの文字クラス

境界正規表現エンジン

最長一致数量子

最短一致数量子

論理演算子

正規表現関連ツールとその使用例

    

 


構文

一致対象


フラグ

(?i)

大文字と小文字を区別しない一致を有効にします。(デフォルトでは大文字と小文字を区別します)


文字

x

文字 x(以下に示すもの以外)

\uhhhh

16 進値 0xhhhh を持つ文字

\t

タブ文字('\u0009'

\n

改行(ラインフィード、LF)文字('\u000A'

\r

キャリッジリターン(CR)文字('\u000D'

\f

用紙送り文字('\u000C'

\a

警告 (ベル) 文字('\u0007'

\e

エスケープ文字('\u001B'

\cx

x に対応する制御文字

\0n

8 進値 0n を持つ文字(0 <= n <= 7)

\0nn

8 進値 0nn を持つ文字(0 <= n <= 7)

\0mnn

8 進値 0mnn を持つ文字(0 <= m <tc4><= 3、0 <= n <= 7)

\xhh

16 進値 0xhh を持つ文字


引用

\

次の文字をエスケープします。以下のメタ文字(!$()*+.<>?[\]^{|})それ自身を一致対象とさせたい場合に入力が必要です

\\

例えば、この構文ではバックスラッシュ文字を表します

\Q

\E までのすべての文字をエスケープします

\E

\Q で開始された引用をエスケープします


Unicode ブロックとカテゴリのクラス

\p{InGreek}

ギリシャ語ブロックの文字(単純 ブロック

\p{Lu}

大文字(単純 カテゴリ

\p{Sc}

通貨記号

\P{InGreek}

ギリシャ語ブロック以外の文字(否定)

[\p{L}&&[^\p{Lu}]]

大文字以外の文字(減算)


文字クラス

[abc]

ab または c(単純クラス)

[^abc]

abc 以外の文字(否定)

[a-zA-Z]

az または A から Z(範囲)


定義済みの文字クラス

.

任意の文字(行末記号を除く)

\d

数字: [0-9]

\D

数字以外: [^0-9]

\s

空白文字: [ \t\n\x0B\f\r]

\S

非空白文字: [^\s]

\w

単語構成文字: [a-zA-Z_0-9]

\W

非単語文字: [^\w]


境界正規表現エンジン

^

行の先頭

$

行の末尾

\b

単語境界

\B

非単語境界


最長一致数量子

指定した文字となるべく多い文字数で一致します。例えば a+ は文字列 aaabbb にある aaa と一致します。

X?

X、1 または 0 回

X*

X、0 回以上

X+

X、1 回以上


最短一致数量子

指定した文字となるべく少ない文字数で一致します。例えば a+? は文字列 aaabbb にある最初の a と一致します。

X??

X、1 または 0 回

X*?

X、0 回以上

X+?

X、1 回以上


論理演算子

XY

X の直後に Y

X|Y

X または Y

(XY)

XY を 1 つのグループとして扱います



正規表現関連ツールとその使用例


正規表現の実行やテストを行える、対話式のツールが数多くあります。それらのツールは、ほぼ同じ構文に従っています。正規表現がテキストを解析し、にその検索結果を表示しています。

正規表現の便利な構文例は、OmegaT 自体にも含まれています。([設定]→[分節化規則...] を参照してください)以下は、特に翻訳メモリを検索する場合に便利な正規表現の一覧です:

正規表現 以下に一致します:
(\b\w+\b)\s\1\b
重複している単語 
[\.,]\s*[\.,]+ カンマとピリオドが連続している箇所
\. \s$ 末尾がピリオドで終わる文章の後の、余分な空白
\s+a\s+[aeiou]  英語:母音で始まる単語の前に "an" でなく "a" がある箇所
\s+an\s+[^aeiou]  英語:子音で始まる単語の前に "a" でなく "an" がある箇所
\s\s+ 2 個以上の空白
\.[A-Z] ピリオドと次の文章の間に空白がない箇所



法律上の表示 ホーム 索引