gpt4 book ai didi

regex - 过滤掉不在集合中的字符

转载 作者:行者123 更新时间:2023-12-04 22:49:36 26 4
gpt4 key购买 nike

我正在尝试过滤通过我的系统的所有字符串,以便我只发送有效字符。

以下是允许的。

a-z
A-Z
"-" (hypen, 0x24)
" " (space, 0x20)
"’" (single quote, 0x27)
"~" (tilde, 0x7E)

现在我可以想出一个在这个集合中搜索字符的正则表达式。但是我需要的是一个与此集合中的字符匹配的正则表达式,这样我就可以用任何东西替换它们。

有任何想法吗?

最佳答案

这是您可以做到的一种方法。你标记了 Perl,所以我会给你一个 perlish 解决方案:

my $string = q{That is a ~ v%^&*()ery co$ol ' but not 4 realistic T3st};
print $string . "\n";
$string =~ s{[^-a-zA-Z '~]}{}g;
print $string . "\n";

打印:
That is a ~ v%^&*()ery co$ol ' but not 4 realistic T3st
That is a ~ very cool ' but not realistic Tst

要说清楚:
$string =~ s{[^-a-zA-Z '~]}{}g;

匹配不是 [^..] 的字符内 [ , ]括号并用空替换它们。 g替换末尾的标志用于替换 1 个以上的字符。

关于regex - 过滤掉不在集合中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17985922/

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