gpt4 book ai didi

lua - 使用 LPeg 使 Lua 模式不区分大小写

转载 作者:行者123 更新时间:2023-12-02 05:24:04 26 4
gpt4 key购买 nike

我有一个应用程序(除其他外)支持纯文本搜索和使用 Lua 模式的搜索。为方便起见,该应用程序支持不区分大小写的搜索。这是一个图像片段:

(

将给定的 Lua 模式转换为不区分大小写的 Lua 模式的代码不太漂亮。它主要关心字符前面是否有奇数或偶数转义符 (%),以及它是否位于方括号内。图像中显示的模式变为 %a[bB][bB]%%[cC][%abB%%cC]

我还没有机会学习 LPeg,我想这可能是我的动力。

我的问题是,这是否是 LPeg 可以轻松处理的事情?

最佳答案

是的,但为了更容易进入 LPeg 世界,请考虑 LPeg 的“re”模块,它为您提供类似正则表达式的语法,并且您可以在语法中指定一组规则(想想 Yacc 等。 ).您基本上会为转义字符、括号组和常规字符编写规则。然后,您可以将函数与规则相关联,这些规则将发出与输入相同的文本或不区分大小写的修改版本。

您的规则结构会自动处理奇偶区分、括号上下文等。LPeg 使用“有序选择”,因此如果您先添加转义规则,它会正确处理 %[ 并避免混淆例如,使用括号规则。

关于lua - 使用 LPeg 使 Lua 模式不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13404880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com