适用于MediaWiki wikitext模板的正则表达式

时间:2012-01-24 05:06:31

标签: regex mediawiki

Yaron Koren的ReplaceText MediaWiki extenion允许我使用正则表达式替换MediaWiki中的文本。我有大约300个MediaWiki页面,它们有两个模板实例。我想只使用正则表达式删除第二个模板。 (无任何替换)

我有:

}} <--end of first template-->

{{Template Call

|blahField=blahValue

|blahField=blahValue

|...

}}

我想要搜索:^[ \\}} \r \\{{ *? ]

并将其替换为:^[ \\}} ]

但是当我在rexv.org

测试时,这并没有产生我想要的结果

欣赏正则表达式的一些帮助。

3 个答案:

答案 0 :(得分:1)

extension page上说

  

允许使用的正则表达式集基本上是PHP和MySQL正则表达式集的一小部分(它只用MySQL测试过 - 它是否适用于其他数据库系统是未知的)。可以在搜索字符串中使用的字符是“()。* +?[] |”

所以也许你正在使用的角色不起作用。它是否有可能搞乱它?

答案 1 :(得分:0)

ReplaceText不适合此类替换。使用PyWikipediaBot或AutoWikiBrowser。

答案 2 :(得分:0)

我有一些黑客攻击:

  1. 让您的{{Template Call}}模板为空。
  2. 使用ReplaceText将\{\{ *Template[ _]Call(使用正则表达式以避免格式错误的调用)替换为{{subst:Template Call
  3. 然后,您Template Call的地点将替换为{{Template Call}}的内容,该内容为空。
  4. 希望它有所帮助。