gpt4 book ai didi

regex - Perl正则表达式如何只转义一些字符

转载 作者:行者123 更新时间:2023-12-04 05:55:54 29 4
gpt4 key购买 nike

我有一个字符串 $regexp_as_string
现在我想将其“转换”为正则表达式/将其用作正则表达式

if ($text_to_search =~ $regexp_as_string)
{
...
}

现在有像“。”这样的字符。我想自动转义它们 -\Q 和\E 应该这样做
 if ($text_to_search =~ /\Q$regexp_as_string\E/)
{
...
}

有没有办法指定应该自动转义的字符列表?因为此时自动转义例如“|” ,但我想保留它。

最佳答案

您可以使用 quotemeta 准备字符串,然后有选择地删除反斜杠。例如。:

my $str = quotemeta('foo${}|'); 
$str =~ s/\\(?=[|])//g;
say $str;

输出:
foo\$\{\}|

将您不想转义的任何字符添加到替换中的字符类中,例如 [|?()] .

关于regex - Perl正则表达式如何只转义一些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9239759/

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