ユーザ用ツール

サイト用ツール


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

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
プログラミング:java:基本:正規表現 [2018/06/10 11:47]
sotoyama [テーブル]
プログラミング:java:基本:正規表現 [2018/06/10 12:54] (現在)
sotoyama [テーブル]
ライン 1: ライン 1:
 ===== 正規表現 ===== ===== 正規表現 =====
  
-==== 指定方法 ====+==== パターン指定方法 ====
  
-^  パターン ​ ^  説明 ​            ​^  使用例 ​ ^ 例の補足 ​ +^  パターン ​   ^  説明 ​                                          ​^  使用例 ​        ​^ 例の補足 ​                   
-| .      | 任意の1文字(改行は除く) ​  ​      ​      ​+| .        | 任意の1文字(改行は除く) ​                                ​...          ​任意の3文字 ​                 ​
-| ?      | 直前の文字が0回または1回 ​  ​      ​      ​+| ?        | 直前の文字が0回または1回 ​                                ​a?bc         abcまたはbc ​               ​
-| *      | 直前の文字を0回以上繰り返し ​       ​      ​+| *        | 直前の文字を0回以上繰り返し ​                               ab*          ​a、ab、abb、abbb、abbbb・・・  ​
-| +      | 直前の文字が1回以上繰り返し ​       ​      ​+| +        | 直前の文字が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文字に一致 ​                               |              |                         | 
 +| ()       ​| 括弧内に一致した文字列をグループ化する ​                          ​| ​             |                         |
  
  
-==== matchesメソッド ====+==== エスケープ ==== 
 +以下のように、エスケープする文字の直前に\\を記述する。 
 +<code java> 
 +    String s = "​^\\.\w*";​ // .(ドット)から始まる文字列 
 +</​code>​ 
 + 
 +==== Stringクラスのmatchesメソッド ====
  
 <code java> <code java>
ライン 33: ライン 44:
 } }
 </​code>​ </​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/基本/正規表現.1528631262.txt.gz · 最終更新: 2018/06/10 11:47 by sotoyama