文字列検索と分節化規則で使用する正規表現は、Java がサポートしているものです。より詳細な情報については Java の正規表現に関する技術文書を参照してください。以下の構文一覧と使用例も参照してください。
注記
この章は上級者のユーザーを対象にしています。独自の分節化規則を定義したり、こみいった条件での検索を必要とする場合に、参照してください。
表D.1 正規表現 - フラグ
構文 |
一致対象 |
(?i) |
大文字と小文字を区別しない一致を有効にします(デフォルトでは大文字と小文字を区別します) |
表D.2 正規表現 - 文字
構文 |
一致対象 |
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 <= 3、0 <= n <= 7) |
\xhh |
16 進値 0xhh を持つ文字 |
表D.3 正規表現 - 引用
構文 |
一致対象 |
\ |
次の文字をエスケープします。以下のメタ文字(!$()*+.<>?[\]^{|})自体を一致対象としたい場合に入力が必要です |
\\ |
たとえば、この構文ではバックスラッシュ文字を表します |
\Q |
\E までのすべての文字をエスケープします |
\E |
\Q で開始された引用をエスケープします |
表D.4 正規表現 - Unicode ブロックとカテゴリのクラス
構文 |
一致対象 |
\p{InGreek} |
ギリシャ語ブロックの文字(単純 ブロック) |
\p{Lu} |
大文字(単純 カテゴリ) |
\p{Sc} |
通貨記号 |
\P{InGreek} |
ギリシャ語ブロック以外の文字(否定) |
[\p{L}&&[^\p{Lu}]] |
大文字以外の文字(減算) |
表D.5 正規表現 - 文字クラス
構文 |
一致対象 |
[abc] |
a、b または c(単純クラス) |
[^abc] |
a、b、c 以外の文字(否定) |
[a-zA-Z] |
a 〜 z または A から Z(範囲) |
表D.6 正規表現 - 定義済みの文字クラス
構文 |
一致対象 |
|
任意の文字(行末記号を除く) |
\d |
数字:[0-9] |
\D |
数字以外:[^0-9] |
\s |
空白文字:[ \t\n\x0B\f\r] |
\S |
非空白文字:[^\s] |
\w |
単語構成文字:[a-zA-Z_0-9] |
\W |
非単語文字:[^\w] |
表D.7 正規表現 - 境界正規表現エンジン
構文 |
一致対象 |
^ |
行の先頭 |
$ |
行の末尾 |
\b |
単語境界 |
\B |
非単語境界 |
表D.8 正規表現 - 最長一致数量子
構文 |
一致対象 |
X
?
|
X、1 または 0 回 |
X
*
|
X、0 回以上 |
X
+
|
X、1 回以上 |
注記
最長一致数量子は、指定した文字となるべく多い文字数で一致します。たとえば
a+
は文字列
aaabbb
にあるaaaと一致します。
表D.9 正規表現 - 最短一致数量子
構文 |
一致対象 |
X?? |
X、1 または 0 回 |
X*? |
X、0 回以上 |
X+? |
X、1 回以上 |
注記
最短一致数量子は、指定した文字となるべく少ない文字数で一致します。たとえば
a+?
は文字列
aaabbb
にある最初の
a
と一致します。
表D.10 正規表現 - 論理演算子
構文 |
一致対象 |
XY |
X の直後に Y |
X|Y |
X または Y |
(XY) |
XY を 1 つのグループとして扱います |