本网站正在建设中(~ ̄▽ ̄)~
- 你好~!欢迎来到中文歌声合成个人收集站-VCPedia.cn!
- 若发现页面信息有误或投稿至本站,请联系管理员。
模板:CollectCodeData
跳至導覽
跳至搜尋
![]() | 此模板使用Lua語言: |
簡介
該模板可以在條目的原始碼中收集數據,並通過正則表達式進行過濾。
用法
{{CollectCodeData |pages= 页面名,可以添加多个页面名,中间使用“,”(全角逗号)隔开。自动处理重定向 |ptns= 正则表达式,该处接受两种值,一种是一个单独的正则表达式,头尾使用“/”(斜杠)进行包裹,另一种为使用array模板生成的由多个正则表达式组成的变量组组名 |filter= 过滤用正则表达式,每个结果都会与此处的正则轮流匹配,该处接受两种值,一种是使用array模板生成的一维变量组(一组匹配规则),一种为二维变量组(多组匹配规则) |split= 返回数据的间隔符,默认为“,”(逗号) }}
其中,三個參數也行分別對應匿名參數1、2、3。
收集的模式為用傳入的正則依次匹配所有頁面的代碼,將匹配的結果收集起來,而不是一層一層地過濾。
若頁面名中包含全形逗號,請使用{{ce|,}}
進行轉義。
若正則表達式中定義了捕獲組,則將所有捕獲組都加入收集的結果中,若未定義,則將匹配的整個字符串加入收集的結果中。
定義正則表達式組時不需要在兩邊加上斜槓,定義的寫法請參考{{array}}模板。
大多數情況下,得到的數據都需要使用其他模板繼續進行處理。
示例
通過以下兩個頁面的文本內容進行示例。
示例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】或它所指向的頁面未創建或無效!