Regex 正则表达式从wikimedia格式的标记文档中提取数据
我试图从clojure中的wikipedia/wikimedia标记结构中提取一些数据Regex 正则表达式从wikimedia格式的标记文档中提取数据,regex,clojure,wikipedia,Regex,Clojure,Wikipedia,我试图从clojure中的wikipedia/wikimedia标记结构中提取一些数据 {{Infobox company ... ... |operating_income = {{Increase}} US$ 26.76&nbsp;billion (2013)<ref name=10K/> |net_income = {{Increase}} US$ 21.86&nbsp;billion (2013)<re
{{Infobox company
...
...
|operating_income = {{Increase}} US$ 26.76&nbsp;billion (2013)<ref name=10K/>
|net_income = {{Increase}} US$ 21.86&nbsp;billion (2013)<ref name=10K/>
|assets = {{Increase}} US$ 142.43&nbsp;billion (2013)<ref name=10K/>
|equity = {{Increase}} US$ 78.94&nbsp;billion (2013)<ref name=10K/>
...
}}
我需要{{infobox company..}}
区域内的信息
所以我使用了这个正则表达式(在txt上面的“\{{(.*?}}}”)
但这给了我一些正则表达式,但仍然不是全部。这个页面上有很多额外的数据以及嵌套的{{}
你可以在网站上看到全文
<>我想我的正则表达式的问题是它没有处理嵌套的{{}}标签。如果正则表达式令人沮丧,你可以考虑使用一个小的解析器来处理任意嵌套的表达式。我的重量有点重,虽然它可以处理更多的输入类型 你能期望有多深的嵌套?如果是无限的,那么正则表达式基本上就是运气不佳。(好吧,Perl“正则表达式”支持递归模式——你知道clojure是否也支持它们吗?@volferine:clojure使用Java的正则表达式引擎,它确实支持一些非正则的东西,如back引用,但不支持Perl的递归模式,如
(?PARNO)
。只有两个嵌套级别。最上面的一个{{Infobox…在这个区域内,还有一些较小的。我对=