Marpa中不区分大小写的匹配

时间:2013-07-08 15:55:24

标签: regex case-insensitive marpa

my earlier question相关,关于使用正则表达式进行不区分大小写的关键字匹配。

是否可以在Marpa中不区分大小写地匹配字符串? 如果是这样,怎么样?

假设我有语法

:start ::= script
identifier ~ [\w]+
script ::= 'script' identifier code
code ::= command*
command ::= 'run' | 'walk' | 'stop'

如何使其与scriptScriptSCRIPT或任何其他小写和大写字母组合匹配?

1 个答案:

答案 0 :(得分:3)

没有一种直接指定不区分大小写的方法。当然,你可以将字符类串起来:[sS] [cC] [rR] [iI] [pP] [tT],但这很尴尬。

对不起。不区分大小写的字符串是一个很好的添加功能。

更新:从2.076000开始,最新的索引版本Marpa :: R2现在对字符串和字符类都有一个:ic修饰符,使它们不区分大小写。在文档中,请参阅https://metacpan.org/pod/Marpa::R2::Scanless::DSL#Single-quoted-stringshttps://metacpan.org/pod/Marpa::R2::Scanless::DSL#Character-classes