Documentation for this module may be created at Module:ExtractSection/doc
local p = {}
-- Helper function to extract content under a specific section header
function p.extractSection(content, header)
-- Define the pattern to find the section header
local startPattern = mw.ustring.gsub(header, "=", "%%=")
-- Find the start of the specified header
local sectionStart, sectionEnd = mw.ustring.find(content, startPattern)
-- If the section is not found, return nil
if not sectionStart then
return nil
end
-- Find the next section header (either === or higher)
local nextHeaderPattern = "\n==+%s*[^=]"
local nextHeaderStart, nextHeaderEnd = mw.ustring.find(content, nextHeaderPattern, sectionEnd + 1)
-- Extract the content until the next section header or the end of the content
if nextHeaderStart then
return mw.ustring.sub(content, sectionEnd + 1, nextHeaderStart - 1)
else
return mw.ustring.sub(content, sectionEnd + 1)
end
end
return p