如何在Perl中使用正则表达式查看变量是否仅包含特定字符?

时间:2019-03-04 04:55:12

标签: regex perl

我想在Perl中使用regex来查看标量变量是否具有除我要查找的字符以外的其他任何字符。字符的位置或顺序无关紧要。

例如,如果要滤除字符C和F:

与ABCADF匹配等于true(除了我的过滤字符以外)

匹配FFC等于false。

匹配CCCC也将等于false。

谢谢

1 个答案:

答案 0 :(得分:1)

如果字符串包含既不是C也不是F的字符,则以下内容返回true:

$str =~ /[^CF]/

在评论中,您提到您实际上想要相反的说法。您可以按以下步骤否定上述条件:

!( $str =~ /[^CF]/ )
$str !~ /[^CF]/

如果您希望避免使用双负号,则可以检查字符串是否完全由CF字符组成。

$str =~ /^[CF]*\z/