我正在嘗試在另一個正則運算式中使用字串作為正則運算式:
my $e = "a b";
if ('foo a b bar' =~ /foo ${e} bar/) {
print 'match!';
}
不起作用,因為 Perl 將 其視為特殊字符。如何在不改變 值的情況下逃脫它$e?
uj5u.com熱心網友回復:
您可以使用\Qand\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!';
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/530930.html
標籤:正则表达式perl
