本网站正在建设中(~ ̄▽ ̄)~

  • 你好~!欢迎来到中文歌声合成个人收集站-VCPedia.cn!
  • 若发现页面信息有误投稿至本站,请联系管理员。

Template:CollectCodeData:修订间差异

VCPedia.cn ——关于中文歌声合成的一切。
跳到导航 跳到搜索
无编辑摘要
(导入3个版本)
 
(没有差异)

2024年9月22日 (日) 18:52的最新版本

Template-info.svg 模板文档  [查看] [编辑] [历史] [刷新]

简介

该模板可以在条目的源代码中收集数据,并通过正则表达式进行过滤。

用法

{{CollectCodeData
|pages= 页面名,可以添加多个页面名,中间使用“,”(全角逗号)隔开。自动处理重定向
|ptns= 正则表达式,该处接受两种值,一种是一个单独的正则表达式,头尾使用“/”(斜杠)进行包裹,另一种为使用array模板生成的由多个正则表达式组成的变量组组名
|filter= 过滤用正则表达式,每个结果都会与此处的正则轮流匹配,该处接受两种值,一种是使用array模板生成的一维变量组(一组匹配规则),一种为二维变量组(多组匹配规则)
|split= 返回数据的间隔符,默认为“,”(逗号)
}}

其中,三个参数也行分别对应匿名参数1、2、3。

收集的模式为用传入的正则依次匹配所有页面的代码,将匹配的结果收集起来,而不是一层一层地过滤

若页面名中包含全角逗号,请使用{{ce|,}}进行转义。

若正则表达式中定义了捕获组,则将所有捕获组都加入收集的结果中,若未定义,则将匹配的整个字符串加入收集的结果中。

定义正则表达式组时不需要在两边加上斜杠,定义的写法请参考{{array}}模板。

大多数情况下,得到的数据都需要使用其他模板继续进行处理。

示例

通过以下两个页面的文本内容进行示例。

Template:文字框

Template:文字框

示例1

{{collectCodeData
|pages= T:CollectCodeData/doc/Example1
|ptns= /在(...)/
}}

结果Lua错误 在Module:CollectCodeData的第24行:页面【T:CollectCodeData/doc/Example1】或它所指向的页面未创建或无效!

示例2

{{array|new|name=patterns
|在(...)
|说...
}}
{{collectCodeData
|pages= T:CollectCodeData/doc/Example1,T:CollectCodeData/doc/Example2
|ptns= patterns
}}

结果Lua错误 在Module:CollectCodeData的第24行:页面【T:CollectCodeData/doc/Example1】或它所指向的页面未创建或无效!

:有换行是因为原先文本中就有换行;“你说说你”的第二个“说”并未被识别。

示例3

{{array|new|name=patterns
|在(...)
|说...
}}
{{array|new|name=filter
|{{array|in|%p|@}}            <!-- 将所有标点符号改为“@” -->
|{{array|in|[上抱]}}          <!-- 省略则替换为空 -->
}}
{{collectCodeData
|pages= T:CollectCodeData/doc/Example1,T:CollectCodeData/doc/Example2
|ptns= patterns
|filter= filter
}}

结果Lua错误 在Module:CollectCodeData的第24行:页面【T:CollectCodeData/doc/Example1】或它所指向的页面未创建或无效!