gpt4 book ai didi

regex - 如何匹配问号?

转载 作者:行者123 更新时间:2023-12-02 05:42:55 27 4
gpt4 key购买 nike

我正在尝试搜索和替换文件中的 URL 列表,但如果搜索 URL 中有问号,我就会遇到问题。下面的$file在这里只是一个单独的标签,但通常是一个完整的文件。

my $search = 'http://shorturl.com/detail.cfm?color=blue';
my $replace = 'http://shorturl.com/detaila.aspx?color=red';
my $file = '<a href="http://shorturl.com/detail.cfm?color=blue" class="news">HI</a>';
$file =~ s/$search/$replace/gis;
print $file;

如果 $search 变量中有 ? 替换不起作用。如果我要从 $search 变量中删除 ?color=blue ,它将起作用。

有谁知道如何使上述替代工作?反斜杠,即 \? 没有帮助。谢谢。

最佳答案

使用quotemeta对于正则表达式模式。

use warnings;
use strict;

my $search = quotemeta 'http://shorturl.com/detail.cfm?color=blue';
my $replace = 'http://shorturl.com/detaila.aspx?color=red';
my $file = '<a href="http://shorturl.com/detail.cfm?color=blue" class="news">HI</a>';
$file =~ s/$search/$replace/gis;
print $file;

__END__

<a href="http://shorturl.com/detaila.aspx?color=red" class="news">HI</a>

关于regex - 如何匹配问号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17426448/

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