我想在Perl中使用regex来查看标量变量是否具有除我要查找的字符以外的其他任何字符。字符的位置或顺序无关紧要。
例如,如果要滤除字符C和F:
与ABCADF匹配等于true(除了我的过滤字符以外)
匹配FFC等于false。
匹配CCCC也将等于false。
谢谢
答案 0 :(得分:1)
如果字符串包含既不是C
也不是F
的字符,则以下内容返回true:
$str =~ /[^CF]/
在评论中,您提到您实际上想要相反的说法。您可以按以下步骤否定上述条件:
!( $str =~ /[^CF]/ )
$str !~ /[^CF]/
如果您希望避免使用双负号,则可以检查字符串是否完全由C
和F
字符组成。
$str =~ /^[CF]*\z/