【发布时间】:2017-11-10 08:35:18
【问题描述】:
这就是我想要做的。
> my sub nplus1($n) {$n +1}
> my regex nnplus1 { ^ (\d+) &nplus1($0) $ }
> "123" ~~ &nnplus1
P6opaque: no such attribute '$!pos' in type Match...
【问题讨论】:
-
您可以尝试将 sub 放入代码块
my regex nnplus1 { (\d+) { &nplus1($0)} }但它不会将结果从 123 更改为 124.. 我还不确定该怎么做。您的预期输出/结果是什么? -
这个很有趣,包括我认为应该被视为错误(但不是)的行为。我现在正在试验它。
-
我希望它匹配“123124”。我已经在正则表达式中添加了锚点。
-
@EugeneBarsky 正确的版本可以,不需要任何额外的修改。
-
@EugeneBarsky 我发现 YAMLish 是高级语法/正则表达式技术的一个很好的例子。 rakudo 源代码本身还有另一个——有一个解析 Perl 6 的文件。YAMLish 是在线的,但 Leon 发表了关于它的演讲,我发现它给了我项目所需的想法。如果你搜索它,你可以在网上找到它。
标签: raku