7

正規表現を使用した大文字と小文字を区別しないキーワード マッチングに関する以前の質問に関連しています。

Marpaで大文字と小文字を区別せずに文字列を一致させることは可能ですか? もしそうなら、どのように?

文法があるとします

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

scriptScriptSCRIPTまたは小文字と大文字のその他の組み合わせのいずれかに一致させるにはどうすればよいですか?

4

1 に答える 1

3

大文字と小文字を区別しないように指定する簡単な方法はありません。もちろん、[sS] [cC] [rR] [iI] [pP] [tT] のように文字クラスをつなぎ合わせることができますが、それはかなり厄介です。

ごめん。大文字と小文字を区別しない文字列は、追加するのに適した機能です。

更新: 2.076000 の時点で、最新のインデックス付きリリースである Marpa::R2 には、文字列と文字クラスの両方に :ic 修飾子があり、大文字と小文字が区別されなくなりました。ドキュメントで、 https://metacpan.org/pod/Marpa::R2::Scanless::DSL#Single-quoted-stringsおよびhttps://metacpan.org/pod/Marpa::R2::Scanless :を参照してください。 :DSL#文字クラス.

于 2013-07-09T04:27:04.197 に答える