Perl的新手,有一个问题,我希望有人可以帮助我。
我有一个Perl字符串,只允许包含字母A到Z(大写和小写),数字0到9以及“ - ”和“_”字符。我想从字符串中删除所有不匹配的字符,其余部分保持不变。所以“Hell @ _World”将成为“Hell_World”。我知道这可能是一个简单,简单的方法,但我是Perl的新手,不知道如何处理这个问题。任何帮助将不胜感激。
答案 0 :(得分:0)
您将使用^
(非)正则表达式替换。虽然Perl提供了快捷方式,但您可以更清楚地看到这些部分:
$string =~ s/[^[:alnum:]_-]//g;
其中[:alnum:]
是字母和数字字符的字符类。括号中的“-
”位于括号的最后,以避免将其混淆为范围字符的一部分。