« javaとPHPの配列とかとか | メイン | ワードプレス サーバ移転でテーマがうまくいかない »

2013年11月05日

java 比較

java 数値比較はPHPと同じ感じ

しかし文字列は・・・・
equalsを使う。

if (str1.equals(str2)){

んでもって 正規表現 preg_match的なものは
javascriptと似てるー

String str = "poebon";
String regex = "e.*o";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);

if (m.find()){
System.out.println("マッチしました");
}else{
System.out.println("マッチしません");
}

んでもって このmatcherで
System.out.println("マッチした部分は " + m.group() + " です");

とマッチした部分の全体が取得できる。

ただ、複雑なグループマッチングとかはどうするんだ・・・?
ともったら、もちろんあったー


String str = "2009year";
String regex = "(¥¥d+)(y)";
Pattern p = Pattern.compile(regex);

Matcher m = p.matcher(str);
if (m.find()){
String matchstr = m.group();
System.out.println(matchstr + "の部分にマッチしました");

System.out.println("group1:" + m.group(1));
System.out.println("group2:" + m.group(2));
}

なるほどなるほど

m.groupCount() でマッチしたグループの数がとれるんだって
for (int i = 0 ; i <= m.groupCount() ; i++){
System.out.println("group" + i + ":" + m.group(i));
}

などなど


小技としては グループ化したいけど別に使わねーよって時は
String regex2 = "(200(?:7|8|9))year";

とすれば拾わなくなってメモリの無駄遣いしなくてすむ

投稿者 muuming : 2013年11月05日 11:13

コメント

コメントしてください




保存しますか?