首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用LPeg使Lua模式不区分大小写

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

Stack Overflow用户
提问于 2012-11-16 03:40:42
回答 1查看 407关注 0票数 2

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

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

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-16 22:51:55

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

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13404880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档