-1

以下に3つの文字列a、b、cがあり、文字列expを文字列bと部分的に一致させようとしていますが、コードを実行するたびに一致しません。

  String a = "ID = '5' && name='abc' || level='5'";
  String b = "ID = '6' && name='def' || level='6' && year='2012'";
  String exp = "ID = '6' && name='def' || level='6'";

私のコード:

  Pattern p = Pattern.compile(b);
  Matcher m = p.matcher(exp);
  if(m.matches()){
        System.out.println("Perfect Match");
  }
  else if(m.hitEnd()){
        System.out.println("Partial Match");
  }
  else{
        System.out.println("No Match");
  }

&& year='2012' を削除しても、一致しません。

4

2 に答える 2

1

bパターンにコンパイルするべきではなく、コンパイルする必要がありますexpbこれにより、を検索できますexp

のサブセットであるため、一致bするexpものは決して見つかりません。expb

于 2012-06-15T17:08:24.740 に答える