如何规范地解析模块名称

Ric*_*rth 7 regex module raku

我有一个解析字符串的正则表达式,该字符串应该是 Raku 的完全限定模块名称(见下文)。由于 Precomp 模块中似乎只使用了 auth、ver 和 api 版本,因此我只测试了这些版本。

我需要将模块的名称与标识符分开。

我的正则表达式是:

my $rx := /
                       ^
                       $<name> = ( [ \w | '::' ] + )
                       [ ':' $<part> = ( [ 'ver' | 'auth' | 'api' ] )
                        \< ~ \> $<val> = ( .*? ) ]*
                       $
                      /;
Run Code Online (Sandbox Code Playgroud)

问题是是否有一种标准方法可以匹配 Raku 模块或子模块,以便此正则表达式将来不会成为错误。

Eli*_*sen 5

看看Raku语法,它看起来只是首先吃掉包定义中的所有副词,然后检查每个副词是否是ver,authapi, todie如果不是这些中的一个。

所以,我会说:不,目前没有匹配 Raku 模块名称的标准方法。