2017-08-05 14 views
-1

以下のコードは常に "いいえ"と表示されます。何か案は ?正規表現が正しく一致しません

import java.util.*; 
import java.lang.*; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

class Rextester 
{ 
    public static void main(String args[]) 
    { 
     String field= "superCategory(code)[composite={catalog: $catalog}]"; 

     Pattern FULL_PATTERN = Pattern 
      .compile("\\[composite\\s*=\\s*\\{([^)]+)\\}\\]"); 

     final Matcher matcher = FULL_PATTERN.matcher(field); 
     if (matcher.matches()) { 
      System.out.println("yes"); 
     } else { 
      System.out.println("no"); 

     } 
    } 
} 
+3

'.find()'の代わりに '.matches(のを使用してください)' – anubhava

答えて

0

あなたはmatches、パターンがないfind必要があります。

if (matcher.find()) { 
関連する問題