| 此模板使用Lua语言: |
该模板可以在条目的源代码中收集数据,并通过正则表达式进行过滤。
{{CollectCodeData
|pages= 页面名,可以添加多个页面名,中间使用“,”(全角逗号)隔开。自动处理重定向
|ptns= 正则表达式,该处接受两种值,一种是一个单独的正则表达式,头尾使用“/”(斜杠)进行包裹,另一种为使用“,”(全角逗号)隔开的多个正则表达式,此时头尾不需要添加“/”(斜杠)
|filter= 过滤用正则表达式,每个结果都会与此处的正则轮流匹配,该处接受单独的正则表达式,或者使用“,”(全角逗号)隔开的多个正则表达式
|split= 返回数据的间隔符,默认为“,”(逗号)
}}
其中,三个参数也行分别对应匿名参数1、2、3。
收集的模式为用传入的正则依次匹配所有页面的代码,将匹配的结果收集起来,而不是一层一层地过滤。
若页面名中包含全角逗号,请使用{{ce|,}}进行转义。
若正则表达式中定义了捕获组,则将所有捕获组都加入收集的结果中,若未定义,则将匹配的整个字符串加入收集的结果中。
定义正则表达式组时不需要在两边加上斜杠。
大多数情况下,得到的数据都需要使用其他模板继续进行处理。
通过以下两个页面的文本内容进行示例。
在风和日丽的一天,儿子站在梯子上,对母亲说:“帮我扶一把,我要摔倒了。”
母亲却说:「等一等,我在晒抱枕。」
虽然儿子觉得扶梯子更紧迫一些,但他不敢在母上大人面前说出来。
儿子突然意识到了什么,从梯子重重摔在地上,再也无法保持平衡。
“抱枕?你怎么在洗——”他不顾浑身疼痛,大声朝母亲说。
母亲却说:「你说说你,把这么好看的小姑娘困在抱枕里,天天光顾着抱,也不知道洗一下,脏成什么样了。我用清水给她泡一泡,干净的小姑娘才更俊。」
没想到儿子更加悲伤,在阳台(也可能是洗衣间、客厅等场所)悲痛欲绝地说,抱枕不能水洗……
{{collectCodeData
|pages= T:CollectCodeData/doc/Example1
|ptns= /在(...)/
}}
结果:风和日,梯子上,晒[[,母上大
{{collectCodeData
|pages= T:CollectCodeData/doc/Example1,T:CollectCodeData/doc/Example2
|ptns= 在(...),说...
}}
结果:风和日,梯子上,晒[[,母上大,地上,,洗——,[[抱,阳台(,说:“帮,说:「等,说出来。,说。
,说:「你,说说你,,说,抱枕
注:有换行是因为原先文本中就有换行;“你说说你”的第二个“说”并未被识别。
{{collectCodeData
|pages= T:CollectCodeData/doc/Example1,T:CollectCodeData/doc/Example2
|ptns= 在(...),说...
|filter= [上抱]
}}
结果: 风和日,梯子,晒[[,母大,地,,洗——,[[,阳台(,说:“帮,说:「等,说出来。,说。
,说:「你,说说你,,说,枕