パターン | 意味 | 例 | ||
---|---|---|---|---|
パターン | 文字列 | 結果 | ||
^ | 先頭にマッチする | "^ab" | "abcd" "cdab" | true false |
$ | 末尾にマッチする | "ab$" | "abcd" "cdab" | false true |
. | 任意の1文字にマッチする | "a.c" | "abc" "abbc" "ac" | true false false |
? | 直前の文字が0個または1個にマッチする | "^A?$" | "" "A" "AA" "B" | true true false false |
* | 直前の文字が0個以上にマッチする | "^A*$" | "" "A" "AA" "B" | true true true false |
+ | 直前の文字が1個以上にマッチする | "^A+$" | "" "A" "AA" "B" | false true true false |
\d | 半角数値(0~9)にマッチする ※ [0-9]と同じ | "\\d" | "0123" "0123" "abc" | true false false |
\D | 半角数値(0~9)以外にマッチする ※ [^0-9]と同じ | "\\D" | "0123" "0123" "abc" | false true true |
\w | 半角英数値(0~9、a~z、A~Z、_)にマッチする ※ [0-9a-zA-Z_]と同じ | "\\w" | "012_AbC" "12Ab" "#$%&" | true false false |
\W | 半角英数値(0~9、a~z、A~Z、_)以外にマッチする ※ [^0-9a-zA-Z_]と同じ | "\\W" | "012_AbC" "12Ab" "#$%&" | false true true |
[ ] | いずれかの文字とマッチする | "[ABC]" | "A" "B" "D" | true true false |
( ) | 1つのグループとして扱う | "(ABC)" | "ABC" "CBA" | true false |
{n} | 直前の文字にn回マッチする | "^A{3}$" | "AA" "AAA" "AAAA" | false true false |
{n,} | 直前の文字にn回以上マッチする | "^A{3,}$" | "AA" "AAA" "AAAA" | false true true |
{n,m} | 直前の文字にn回以上m回以下マッチする | "^A{3,4}$" | "AA" "AAA" "AAAA" "AAAAA" | false true true false |
| | いずれかとマッチする | "ABC|DEF" | "ABC" "DEF" "CBA" "DE" | true true false false |
- | 範囲を指定する | "[3-7]" | "2" "3" "7" "8" | false true true false |
^ | 否定([ ]の中で使用する) | "[^AB]" | "A" "B" "C" | false false true |
&& | かつ | "[0-9&&[^4]]" | "3" "4" "5" | true false true |
正規表現サンプル集
//半角数値10桁にマッチ
"^\\d{10}$"
//半角数値8桁以上10桁以下にマッチ
"^\\d{8,10}$"
//1桁以上の半角英数(0~9、a~z、A~Z)にマッチ
"^[0-9a-zA-Z]+$"
//郵便番号(半角数値3桁 半角ハイフン 半角数値4桁)にマッチ
"^\\d{3}-\\d{4}$"
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RegexSample {
public static void main(String args[])
//判定する文字列
String str = "123A5";
//判定するパターンを生成
Pattern p = Pattern.compile("^[0-9]*$");
Matcher m = p.matcher(str);
//画面表示
System.out.println(m.find());
【エスケープシーケンス記号】
記号 文字
\\ 円記号
\' シングルクォーテーション
\" ダブルクォーテーション
\n 改行コード
\t タブコード
\b バックスペース(1文字削除する)
\r キャリッジリターン(行頭に戻る)
\f フォームフィード(改ページ)