2

大きなテキスト内の特定のコンテンツを一致させる必要があります。

一致する例:

{{Infobox....{{..}}..
...
..
..
.
}}

ここで問題:コンテンツには inner が含まれている場合と含まれていない場合があります{{..}}}}ただし、新しい行で発生する特定の終了ダブルカーリー ( ) まで一致する必要があります。

私が試している正規表現:

1) String regex = "\\{\\{Infobox(.*?)\\}\\}"; //This matches till the first occurrence of }}

2) String regex = "\\{\\{Infobox(.*)\\}\\}";  //This matches till end of the file

その特定の閉じ中括弧までコンテンツを取得するための助けを探しています。

4

2 に答える 2

1

Mediawiki ウィキテキストを正規表現で解析しようとしていることがわかります。これはできません。正規表現は中かっこを数えることができません。これは、ネストされたテンプレート呼び出しのレベルを問わないため、これを行う必要があります。

また、Java から Mediawiki ウィキテキストを解析したいのですが、この便利な Stackoverflow question を見つけました

于 2013-11-10T08:28:19.420 に答える
0
{{Infobox.*\n}}

これを試すことができます。regexpal.com で動作します。

"\n}}" は、直前に改行がある "}}" と一致します。

実装で「。」であることを確認する必要があります。すべてに一致するため、「。」改行を検索し続けます。

于 2013-11-11T19:15:16.520 に答える