正規表現を使用すると非常に簡単です。
\[\[(.+?)\]\]
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 回だけ照合してから、前のアイテムの一致を増やしながら順列を試行します。
\]
をキャプチャしています]