如何匹配嵌套的正则表达式

时间:2011-10-20 12:04:40

标签: java regex

我正在尝试匹配我在以下情况下遇到的WikiMedia文件标记:

[[ref1]] text [[Datei:Panorama2München.JPG der [[Frauenkirche (München)|Frauenkirche]] aus in Blickrichtung Südosten]] text [[ref2]]. 

我想匹配

[[Datei:Panorama2München.JPG der [[Frauenkirche (München)|Frauenkirche]] aus in Blickrichtung Südosten]]

1 个答案:

答案 0 :(得分:1)

这取决于哪些部分是恒定的?您要匹配的所有字符串是否以“[[Datie”开头并且在括号中具有确切数量?如果是这样,您可以尝试[[Datei.*[[.*]].*]]。如果它是“文本”之后的那个试试text [[.*[[.*]].*]] 但请注意,如果你不知道括号的数量,那么它可能会很棘手,但你需要对它们做一些假设,因为不可能制作一个与未知数量的括号匹配的正则表达式。 (为此你需要一个堆栈 - 由你管理。)