正则表达式可以与 Wikipedia API 一起使用吗?

Can regular expressions be used with the Wikipedia API?

我必须在多个维基百科版本中进行大量查询才能找到 DBpedia 中没有的信息(例如,维基百科页面中的单词数)。从一个词,如"Paris",我想肯定地得到法国首都的维基百科页面,而不是安大略省巴黎的页面。因此,我不得不在查询中使用类别,如下所示:

https://en.wikipedia.org/w/api.php?action=query&list=search&format=json&srsearch=paris+incategory:Departments_of_France

问题:维基百科类别不一致。对我来说最理想的是能够将正则表达式用作类别,例如 "contain the word France".

我在 API 文档中搜索了几个小时,却无法理解如何执行此操作。欢迎任何帮助或建议。

您可以使用 insource:/\[\[Category:[^\]]{0,32}France]]/ 这样的搜索表达式。 (example) See Help:CirrusSearch#Regular expression searches(通配符长度限制似乎是避免超时所必需的)。

另一种可能更适合您的用例的方法是使用维基数据查询服务。文本搜索功能有限(但听起来您并不真正需要它们)并且语法更复杂(SPARQL + 您需要了解维基数据有哪些 属性 约定)但您可以表达类似 "in France".

(将鼠标悬停在 Pxx/Qxx 事物上以获取信息。)