Perl -非法十六进制数字警告错误



我在这行代码中得到一个警告:

$mismatch = ($_ =~ s/[^x0]//g);

在xxxxxx.pl第61行忽略非法十六进制数字']'。正则表达式对我来说是有效的,请问是什么导致了这个错误?它不喜欢的是右方括号

谢谢!

根据perldoc.perl.org

同样,xnn匹配其原生序数为nn的字符,其中nn为十六进制数字。同样,不使用精确的两位数字会导致灾难,但是您可以使用x{...}来指定任意数量的十六进制数字。

所以,你需要使用

s/[^x00]//g

或者,s/[^x{0}]//g.

相关内容

  • 没有找到相关文章

最新更新