如何將 Perl 相容正則表示式 (PCRE) 轉換到 Lua
正則表示式是一種特殊的文字字串,用於描述搜尋模式。
PCRE (Perl 相容正則表示式)是一個 C 庫,用於實現正則表示式。它編寫於 1997 年,當時 Perl 是處理複雜文字任務的實際選擇。PCRE 中使用的模式語法與 Perl 十分接近。如果你想了解 PERL 及其用例,請訪問此 連結。
現在,我們看一個示例,瞭解如何將 PCRE 轉換為 Lua,然後打印出來。
示例
考慮下面顯示的程式碼 −
"\002\003\004\005\006\007\008\009\010\011\012\
”
上面的字串作為一個 PCRE,我們將使用 Lua 字串庫函式和正則表示式將其轉換為一個 Lua 字串。
正則表示式如下所示 −
"[\002-\009\011-\026\#?`(){}%[%]^*<>=~|; \"!$&'\130-\255])", "\%1"
示例
將上述 PCRE 轉換為 Lua 字串的程式碼如下 −
local a = "\002\003\004\005\006\007\008\009\010\011\012\
" res, _ = a:gsub("([\002-\009\011-\026\#?`(){}%[%]^*<>=~|; \"!$&'\130-\255])", "\%1") res, _ = res:gsub("
", "'
'") print(res)
輸出
\\\\\\\\' '\\\' '
廣告