マッチ対象 | |
| |
文字 | |
x | 文字 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 を持つ文字 |
\uhhhh | 16 進値 0xhhhh を持つ文字 |
\t | タブ文字 ('\u0009') |
\n | 改行文字 ('\u000A') |
\r | キャリッジリターン文字 ('\u000D') |
\f | 用紙送り文字 ('\u000C') |
\a | 警告 (ベル) 文字 ('\u0007') |
\e | エスケープ文字 ('\u001B') |
\cx | x に対応する制御文字 |
| |
文字クラス | |
[abc] | a、b、または c (単純クラス) |
[^abc] | a、b、c 以外の文字 (否定) |
[a-zA-Z] | a 〜 z または A 〜 Z (範囲) |
[a-d[m-p]] | a 〜 d、または m 〜 p: [a-dm-p] (結合) |
[a-z&&[def]] | d、e、f (交差) |
[a-z&&[^bc]] | b と c を除く a 〜 z: [ad-z] (減算) |
[a-z&&[^m-p]] | m 〜 p を除く a 〜 z: [a-lq-z] (減算) |
| |
定義済みの文字クラス | |
. | 任意の文字 (行末記号とマッチする場合もある) |
\d | 数字: [0-9] |
\D | 数字以外: [^0-9] |
\s | 空白文字: [ \t\n\x0B\f\r] |
\S | 非空白文字: [^\s] |
\w | 単語構成文字: [a-zA-Z_0-9] |
\W | 非単語文字: [^\w] |
| |
POSIX 文字クラス (US-ASCII のみ) | |
\p{Lower} | 小文字の英字: [a-z] |
\p{Upper} | 大文字の英字: [A-Z] |
\p{ASCII} | すべての ASCII 文字: [\x00-\x7F] |
\p{Alpha} | 英字: [\p{Lower}\p{Upper}] |
\p{Digit} | 10 進数字: [0-9] |
\p{Alnum} | 英数字: [\p{Alpha}\p{Digit}] |
\p{Punct} | 句読文字: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ のいずれか |
\p{Graph} | 表示できる文字: [\p{Alnum}\p{Punct}] |
\p{Print} | プリント可能文字: [\p{Graph}\x20] |
\p{Blank} | 空白またはタブ: [ \t] |
\p{Cntrl} | 制御文字: [\x00-\x1F\x7F] |
\p{XDigit} | 16 進数字: [0-9a-fA-F] |
\p{Space} | 空白文字: [ \t\n\x0B\f\r] |
| |
java.lang.Character クラス (単純な java 文字タイプ) | |
\p{javaLowerCase} | java.lang.Character.isLowerCase() と等価 |
\p{javaUpperCase} | java.lang.Character.isUpperCase() と等価 |
\p{javaWhitespace} | java.lang.Character.isWhitespace() と等価 |
\p{javaMirrored} | java.lang.Character.isMirrored() と等価 |
| |
Unicode ブロックとカテゴリのクラス | |
\p{InGreek} | ギリシャ語ブロックの文字 (単純ブロック) |
\p{Lu} | 大文字 (単純カテゴリ) |
\p{Sc} | 通貨記号 |
\P{InGreek} | ギリシャ語ブロック以外の文字 (否定) |
[\p{L}&&[^\p{Lu}]] | 大文字以外の文字 (減算) |
| |
境界正規表現エンジン | |
^ | 行の先頭 |
$ | 行の末尾 |
\b | 単語境界 |
\B | 非単語境界 |
\A | 入力の先頭 |
\G | 前回のマッチの末尾 |
\Z | 最後の行末記号がある場合は、それを除く入力の末尾 |
\z | 入力の末尾 |
| |
最長一致数量子 | |
X? | X、1 または 0 回 |
X* | X、0 回以上 |
X+ | X、1 回以上 |
X{n} | X、n 回 |
X{n,} | X、n 回以上 |
X{n,m} | X、n 回以上、m 回以下 |
| |
最短一致数量子 | |
X?? | X、1 または 0 回 |
X*? | X、0 回以上 |
X+? | X、1 回以上 |
X{n}? | X、n 回 |
X{n,}? | X、n 回以上 |
X{n,m}? | X、n 回以上、m 回以下 |
| |
強欲な数量子 | |
X?+ | X、1 または 0 回 |
X*+ | X、0 回以上 |
X++ | X、1 回以上 |
X{n}+ | X、n 回 |
X{n,}+ | X、n 回以上 |
X{n,m}+ | X、n 回以上、m 回以下 |
| |
論理演算子 | |
XY | X の直後に Y |
X|Y | X または Y |
(X) | |
| |
前方参照 | |
\n | マッチした n 番目の先方参照を行う正規表現グループ |
| |
引用 | |
\ | 正規表現ではないが、次の文字をエスケープする |
\Q | 正規表現ではないが、\E までのすべての文字をエスケープする |
\E | 正規表現ではないが、\Q で開始された引用をエスケープする |
| |
特殊な構文 (先方参照を行わない) | |
(?:X) | |
(?idmsux-idmsux) | 正規表現ではないが、マッチフラグのオン/オフを切り替える |
(?idmsux-idmsux:X) | X、指定されたフラグをオン/オフにした先方参照を行わない正規表現グループ |
(?=X) | X、幅ゼロの肯定先読み |
(?!X) | X、幅ゼロの否定先読み |
(?<=X) | X、幅ゼロの肯定後読み |
(?<!X) | X、幅ゼロの否定後読み |
(?>X) | X、独立した先方参照を行わない正規表現グループ |
2011年5月31日火曜日
Java正規表現構文の要約
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿