模組:Parentheses
![文档图示](http://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/50px-Test_Template_Info-Icon_-_Version_%282%29.svg.png)
您可能想要创建本Scribunto模块的文档。 编者可以在本模块的沙盒 (创建 | 镜像)和测试样例 (创建)页面进行实验。 请在/doc子页面中添加分类。本模块的子页面。 |
local p = {}
require "mw.ustring"
function p.remove_parents_internal( str )
gsub = mw.ustring.gsub
str=gsub(str, " *[(].*[)]","")
return str
end
function p.remove_parents( frame )
str = frame.args.string
return p.remove_parents_internal(str)
end
function p.remove_sq_parents_internal( str )
gsub = mw.ustring.gsub
str=gsub(str, "^%[%[(.*)%|.*%]%]$","%1") -- [[x|y]] ==> x
str=gsub(str, "^%[%[(.*)%]%]$","%1") -- [[x]] ==> x
return str
end
function p.remove_sq_parents( frame )
str = frame.args.string
return p.remove_sq_parents_internal(str)
end
function p.only_parents_contents_internal( str )
match = mw.ustring.match
gsub = mw.ustring.gsub
str=p.remove_sq_parents_internal(str)
str=match(str, "%b()$") -- a(b) ==> (b) or nil
if (str == nil) then return "" end
str=gsub(str,"^%((.*)%)$", "%1") -- (b) ==> b
return str
end
function p.only_parents_contents( frame )
str = frame.args.string
return p.only_parents_contents_internal(str)
end
function p.remove_linker_internal( str )
gsub = mw.ustring.gsub
local y = gsub(str, "^%[%[.*|(.*)%]%]$", "%1") -- [[x|y]] ==> y
if y ~= str then
return y
end
local x = gsub(str, "^%[%[(.*)%]%]$", "%1") -- [[x]] ==> x
return x
end
function p.remove_linker( frame )
str = frame.args.string
return p.remove_linker_internal(str)
end
return p