2

我需要在大文本中匹配特定内容;

前要匹配:

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

这里的问题:内容可能包含也可能不包含内部{{..}}. 但是,我需要匹配直到}}出现在新行中的特定闭合双卷曲 ( )。

Reg Ex 我一直在尝试:

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 wikitext。这是做不到的。正则表达式不能计算花括号,您需要这样做,因为您可以有任何级别的嵌套模板调用。

我还想从 Java 中解析 Mediawiki wikitext,我发现了这个有用的 Stackoverflow 问题

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

你可以试试这个,它可以在 regexpal.com 上运行。

"\n}}" 与 "}}" 匹配,在它之前有一个换行符。

您需要确保在您的实现中“。” 匹配所有,所以“。” 将继续搜索换行符。

于 2013-11-11T19:15:16.520 回答