在Perl正则表达式中,您可以使用\Q和包围子表达式,\E以指示您希望将子表达式匹配为文字字符串,即使其中存在元字符.您还可以使用quotemeta在字符串中插入正确数量的反斜杠的函数,这样,如果随后将该字符串插入到正则表达式中,则无论其内容是什么,它都将按字面匹配.
Javascript(在主流浏览器中部署)是否有任何内置的等价物?我可以自己写得很好,但我想知道我是否需要打扰.
如何像使用 Perl 的quotemeta 函数( \Q..\E) 那样转义 Raku 正则表达式中的元字符?
也就是 Perl 代码
my $sentence = 'The quick brown fox jumped over the lazy dog';
my $substring = 'quick.*?fox';
$sentence =~ s{$substring}{big bad wolf};
print $sentence
Run Code Online (Sandbox Code Playgroud)
将每个.、*、 和?视为元字符,从而打印The big bad wolf jumped over the lazy dog。但是如果我将倒数第二行更改为$sentence =~ s{\Q$substring\E}{big bad wolf};,那么 Perl 会将其.*?视为文字字符,从而打印The quick brown fox jumped over the lazy dog。
如何按字面意思处理 Raku 正则表达式中的字符?