パターン | 説明 | 使用例 | 例の補足 |
---|---|---|---|
. | 任意の1文字(改行は除く) | … | 任意の3文字 |
? | 直前の文字が0回または1回 | a?bc | abcまたはbc |
* | 直前の文字を0回以上繰り返し | ab* | a、ab、abb、abbb、abbbb・・・ |
+ | 直前の文字が1回以上繰り返し | ab+ | ab、abb、abbb、abbbb・・・ |
^ | 行頭 | ^abc | abcで始まる行に一致 |
$ | 行末 | abc$ | abcで終わる行に一致 |
[] | 括弧内の任意の1文字に一致 | [abc] | abcの1文字に一致 |
[a-z] | 小文字のaからzまでの1文字に一致 | ||
[A-Z] | 大文字のAからZまでの1文字に一致 | ||
[0-9] | 数字の0から9までの1文字に一致 | ||
[^] | 括弧内の文字に一致しない | [^abc] | abcの文字に一致しない |
{} | 直前の文字を指定回数繰り返し | {n} | n回繰り返し |
{n,} | n回以上繰り返し | ||
{,m} | m回以下繰り返し | ||
{n,m} | n回以上m回以下繰り返し | ||
| | いずれかの文字列に一致 | foo|bar | fooまたはbarに一致 |
\w | 任意の英数字と_(アンダースコア)の1文字に一致 ([a-zA-Z_0-9]と同値) | ||
\W | 任意の英数字と_(アンダースコア)以外の1文字に一致 | ||
\s | 任意の空白文字(スペース、タブ、改行、復帰)の1文字に一致 | ||
\S | 任意の空白文字(スペース、タブ、改行、復帰)以外の1文字に一致 | ||
\d | 任意の数字1文字に一致 ([0-9]と同値) | ||
\D | 任意の数字以外の1文字に一致 | ||
() | 括弧内に一致した文字列をグループ化する |
以下のように、エスケープする文字の直前に\\を記述する。
String s = "^\\.\w*"; // .(ドット)から始まる文字列
String s = "hogehoge"; if (s.matches("[a-z]{8}") { // 処理 }