gpt4 book ai didi

regex - 为什么我的正则表达式会因某些替换而失败?

转载 作者:行者123 更新时间:2023-12-02 06:25:06 25 4
gpt4 key购买 nike

我是perl的新手,不确定如何实现以下目标。
我正在读取文件,并将这些行放入名为$ tline的变量中。接下来,我试图替换$ tline中的某些字符。
如果$ tline中包含一些特殊字符,如(,?,=等,则替换失败。如何从$ tline变量中转义特殊字符?

if ($tline ne "") {

$tline =~ s/\//\%;
}

编辑

抱歉给您带来混乱。这是我想做的。
$tline =~ s/"\//"\<\%\=request\.getContextPath\(\)\%\>\//;

这适用于大多数情况。但是什么时候输入文件有?其中,它正在失败。

最佳答案

怎么样:

$tline =~ s/\Q$var\E/;

这将导致 quotemeta应用于正在用作模式的 $var的内容。

关于regex - 为什么我的正则表达式会因某些替换而失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2135519/

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