ユーザ用ツール

サイト用ツール


プログラミング:java:基本:正規表現

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
プログラミング:java:基本:正規表現 [2018/06/10 11:31]
sotoyama 作成
プログラミング:java:基本:正規表現 [2018/06/10 12:54] (現在)
sotoyama [テーブル]
ライン 1: ライン 1:
 ===== 正規表現 ===== ===== 正規表現 =====
 +
 +==== パターン指定方法 ====
 +
 +^  パターン ​   ^  説明 ​                                          ​^ ​ 使用例 ​        ^ 例の補足 ​                   ^
 +| .        | 任意の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文字に一致 ​                               |              |                         |
 +| ()       | 括弧内に一致した文字列をグループ化する ​                          ​| ​             |                         |
 +
 +
 +==== エスケープ ====
 +以下のように、エスケープする文字の直前に\\を記述する。
 +<code java>
 +    String s = "​^\\.\w*";​ // .(ドット)から始まる文字列
 +</​code>​
 +
 +==== Stringクラスのmatchesメソッド ====
 +
 +<code java>
 +String s = "​hogehoge";​
 +
 +if (s.matches("​[a-z]{8}"​) {
 +    // 処理
 +}
 +</​code>​
 +
 +
 +==== Patternクラス、Matcherクラス ====
 +
 +<code java>
 +import java.util.regex.Pattern;​
 +import java.util.regex.Matcher;​
 +
 + ・・・
 +
 +String s = "​123or456";​
 +
 +Pattern pattern = Pattern.compile("​[0-9]+"​);​
 +Matcher match = pattern.matcher(s);​
 +
 +while (match.find()) {
 +    System.out.println(m.group());​
 +}
 +</​code>​
 +
 +<code prompt>
 +123
 +456
 +</​code>​
 +
 +
  
  
プログラミング/java/基本/正規表現.1528630274.txt.gz · 最終更新: 2018/06/10 11:31 by sotoyama