
--------------------------------------------------------------------------------
-- LPeg RE 模块
--------------------------------------------------------------------------------

---@class re*
---@type re*
local M = {}

--- 编译 RE 语法为 LPeg pattern
---@param pattern string|any RE 表达式或已有 pattern
---@param defs? table 额外定义
---@return any compiled 编译后的 LPeg pattern
function M.compile(pattern, defs) end

--- 匹配字符串
---@param subject string 输入字符串
---@param pattern string|any RE 表达式或 pattern
---@param init? integer 起始位置
---@return any ... 匹配结果
function M.match(subject, pattern, init) end

--- 查找匹配位置
---@param subject string 输入字符串
---@param pattern string|any RE 表达式或 pattern
---@param init? integer 起始位置
---@return integer? start 起始位置
---@return integer? finish 结束位置
function M.find(subject, pattern, init) end

--- 替换匹配内容
---@param subject string 输入字符串
---@param pattern string|any RE 表达式或 pattern
---@param repl string|number|table|function 替换值
---@return string result 替换结果
function M.gsub(subject, pattern, repl) end

--- 更新 locale 预定义字符类
function M.updatelocale() end

return M
