正規表現を使用すると非常に簡単です。
\[\[(.+?)\]\]

Debuggex でライブ編集
.+括弧内に実際に何かがあることを確認するためにa を実行することをお勧めします。配列に入れようとしているときに何かが存在しない場合は  、 a は取得されません。null
string output = new string [10]; 
string pattern =  "\[\[(.+?)\]\]";
string input = "[[Animal rights]] [[Anthropocentrism]] [[Anthropology]]";
Matcher m = Pattern.compile(pattern).matcher(input);
int increment= 0;
while (m.find()) {
    output[increment] = m.group(1);
    increment++;
}
あなたが正規表現を学びたいと言ったので、私はそれを分解します。
\[ 2xは、正規表現の特殊文字であるため、[必要な括弧を見つけています\ 
.改行を除くすべての文字を表すことができます 
+その文字の 1 つ以上を意味します 
?前の項目を 1 回以上繰り返します。怠惰なため、エンジンは最初に前のアイテムを 1 回だけ照合してから、前のアイテムの一致を増やしながら順列を試行します。 
\]をキャプチャしています]