如何使点 ( .) 元字符匹配 Raku 正则表达式中的换行符?在 Perl 中,我会使用点匹配换行符( /s)?
为了使它正常工作,我必须更改什么?
my $str = "start middle end";
my $regex = / start ( .+ ) end /;
$str.=subst( / <$regex> /, { $0 } ); # dies: Use of Nil in string context
say "[$str]";
Run Code Online (Sandbox Code Playgroud) 如何在 Raku 正则表达式中插入条件代码
正则表达式 与 Perl 正则表达式类似
my $F = 1;
'foobarbar' =~ / (?(?{ $F }) foo | bar ) bar /x ;
Run Code Online (Sandbox Code Playgroud)
辛苦了一天了,没有结果,请大家帮忙,谢谢。
我想将 glob 样式模式转换为 Raku 正则表达式。这就是我现在正在做的:
s :global {
|| $<question-mark> = '?'
|| $<asterisk> = '*'
|| $<non-word> = \W
} = $<question-mark> ?? '.' !! $<asterisk> ?? '.*' !! "\\$<non-word>";
Run Code Online (Sandbox Code Playgroud)
以这种方式为每个非单词字符添加反斜杠前缀是否正确?也就是说,这个错过是逃避了该有的事,还是逃避了不该有的事?
我有点困惑 Raku 取消了 Perl 5 的quotemeta功能,这在这里是理想的。正如这个问题的答案中所指出的那样,它几乎不需要经常使用,但在这种情况下,我只能手动推出一个我不确定是否足够的解决方案。