gpt4 book ai didi

regex - 当我将它包含在另一个正则表达式中时如何转义正则表达式?

转载 作者:行者123 更新时间:2023-12-05 01:49:12 26 4
gpt4 key购买 nike

我试图在另一个正则表达式中使用一个字符串作为正则表达式:

my $e = "a+b";
if ('foo a+b bar' =~ /foo ${e} bar/) {
print 'match!';
}

不起作用,因为 Perl 将 + 视为特殊字符。如何在不更改 $e 的值的情况下转义它?

最佳答案

您可以使用 \Q and \E ,它将它们之间的正则表达式元字符视为文字:

#!/usr/bin/env perl
use strict;
use warnings;
use feature qw/say/;

my $e = "a+b";
if ('foo a+b bar' =~ /foo \Q$e\E bar/) {
say 'match!';
}

关于regex - 当我将它包含在另一个正则表达式中时如何转义正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74384317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com