繁体   English   中英

在Perl中使用正则表达式替换整个字符串

[英]Replace an entire string using regex in Perl

我希望它看起来像这样。

my $str = 'axxxx';

my $replacement = 'string_begins_with_a';

$str =~ s/^a/$replacement/;

print "$str\n"; #should print 'string_begins_with_a'

你只需要通过添加消耗行的其余部分.*a

my $str = 'axxxx';
my $replacement = 'string_begins_with_a';
$str =~ s/^a.*/$replacement/;
print "$str\n"; #prints 'string_begins_with_a'

或者,你可能只是检查是否$str开头a ,然后分配$replacement值吧:

$str = ($str =~ /^a/) ? $replacement : $str;

要不就

if ($str =~ /^a/) {
    $str = $replacement;
}

将整个字符串与^a.*正则表达式匹配,然后使用替换字符串替换它。

$str =~ s/^a.*/$replacement/;
print "$str\n"; # would print 'string_begins_with_a'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM