Javaにて正規表現でString変数の中から"key":
という規則でkeyの部分をすべて抜き出してString形式の変数に格納したいのですが、NullPointerExceptionが出てしまいます。うまく抜き出すにはどうしたらいいでしょう?
program
1 String regex_key = "\"(.+?)\":"; 2 Pattern p_key = Pattern.compile(regex_key); 3 Matcher m_key = p_key.matcher(str); 4 5 if(m_key.find()) { 6 //System.out.println("実行できてるか確認用"); 7 //System.out.println(m_key.group(1)); //確認用1 8 for(int i=0;i<=m_key.groupCount();i++) { 9 P_key[i] = m_key.group(i); 10 //System.out.println(P_key[i]); //確認用2 11 } 12 }
str
1"S":["a W^↓ S a","b W^↓ S b","ε"],"W^↓":["0 W_ 0_ ↓","1 W_ 1_ ↓","W_ ↓"],"W_":["0 W_ 0_","1 W_ 1_","↑"]
strのS,W^↓,W_を抜き出したいということです。
補足
この状態で実行するとNullPointerExceptionが出ますが確認用1でm_key.group()を出力するとm_key.group(0)は"S":を、m_key.group(1)ではSを出力して後はNullPointerExceptionが出ます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。