正则表达式 – 过滤不在集合中的字符
发布时间:2020-12-14 06:01:58 所属栏目:百科 来源:网络整理
导读:我试图过滤我通过我的系统的所有字符串,以便我只发出有效的字符. 允许以下内容. a-zA-Z"-" (hypen,0x24)" " (space,0x20)"’" (single quote,0x27)"~" (tilde,0x7E) 现在我可以想出一个正则表达式来搜索这个集合中的字符.但我需要的是一个正则表达式匹配这个
我试图过滤我通过我的系统的所有字符串,以便我只发出有效的字符.
允许以下内容. 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个字符. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |