NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Processing(matchAllの使い方)

matchAll
 ProcessingにおけるmatchAllは、テキストに正規表現を適用し、一致するグループ(カッコ内にある要素)のリストを2次元のString配列として返します。
 一致するものがない場合、null値が返されます。
 正規表現にグループが指定されていないが、シーケンスが一致する場合は、2次元配列が返されますが、2番目の次元は長さ1だけです。

 関数を使用するには、まず結果がnullかどうかを確認します。
 結果がnullの場合、シーケンスはまったく一致しません。
 シーケンスが一致した場合、2D配列が返されます。

 正規表現にグループ(カッコの集合で指定)がある場合、それぞれの内容が配列に返されます。
 正規表現一致の要素[i] [0]は一致する文字列全体を返し、要素[i] [1](最初のグループは[i] [1] 、2番目の[i] [2]など)。

 この構文は、JavaのPatternクラスのリファレンスにあります。
 正規表現の構文については、トピックに関するJavaチュートリアルを読んでください。

 Processingで使用するmatchAllの使い方は以下の通りです。
イメージ 4
   
String s = "Inside tags, you will find <tag>multiple</tag> ";
       s += "<tag>pieces</tag> of <tag>content</tag>.";
 
String[][] m = matchAll(s, "<tag>(.*?)</tag>");
for (int i = 0; i < m.length; i++) {
  println("Found &apos;" + m[i][1] + "&apos; inside a tag.");
}
 
//コンソールに印刷します:
// "タグ内に複数の"が見つかりました。 "
//タグ内に &apos;pieces&apos;が見つかりました。 "
// "タグ内に &apos;コンテンツ&apos;が見つかりました。"
イメージ 3
図1:プログラムの内容

イメージ 1
図2:プログラム実行結果

matchAllの構文
 matchAll(str, regexp)

matchAllのパラメータ
 str :検索対象の文字列(String)
 regexp :マッチングに使用する正規表現(String)

matchAllの戻り値
 String[]

イメージ 1イメージ 3
励みになりますのでよければクリック下さい(^o^)/



この商品は、Amazon.co.jp が販売、発送します。 ギフトラッピングを利用できます。