Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式从wikimedia格式的标记文档中提取数据_Regex_Clojure_Wikipedia - Fatal编程技术网

Regex 正则表达式从wikimedia格式的标记文档中提取数据

Regex 正则表达式从wikimedia格式的标记文档中提取数据,regex,clojure,wikipedia,Regex,Clojure,Wikipedia,我试图从clojure中的wikipedia/wikimedia标记结构中提取一些数据 {{Infobox company ... ... |operating_income = {{Increase}} US$ 26.76 billion (2013)<ref name=10K/> |net_income = {{Increase}} US$ 21.86 billion (2013)<re

我试图从clojure中的wikipedia/wikimedia标记结构中提取一些数据

{{Infobox company
...
...
|operating_income = {{Increase}} US$ 26.76 billion (2013)<ref name=10K/>
|net_income       = {{Increase}} US$ 21.86 billion (2013)<ref name=10K/>
|assets           = {{Increase}} US$ 142.43 billion (2013)<ref name=10K/>
|equity           = {{Increase}} US$ 78.94 billion (2013)<ref name=10K/>
...
}}
我需要
{{infobox company..}}
区域内的信息

所以我使用了这个正则表达式
(在txt上面的“\{{(.*?}}}”)

但这给了我一些正则表达式,但仍然不是全部。这个页面上有很多额外的数据以及嵌套的{{}

你可以在网站上看到全文


<>我想我的正则表达式的问题是它没有处理嵌套的{{}}标签。

如果正则表达式令人沮丧,你可以考虑使用一个小的解析器来处理任意嵌套的表达式。我的重量有点重,虽然它可以处理更多的输入类型

你能期望有多深的嵌套?如果是无限的,那么正则表达式基本上就是运气不佳。(好吧,Perl“正则表达式”支持递归模式——你知道clojure是否也支持它们吗?@volferine:clojure使用Java的正则表达式引擎,它确实支持一些非正则的东西,如back引用,但不支持Perl的递归模式,如
(?PARNO)
。只有两个嵌套级别。最上面的一个{{Infobox…在这个区域内,还有一些较小的。我对
=