如何將 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)

輸出

\\\\\\\\'
'\\\'
'

更新於:20-Jul-2021

469 個瀏覽量

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告