单字母十六进制的Perl正则表达式语法

too*_*oop 1 unix linux shell scripting perl

在perl中我试图使用正则表达式搜索特定的十六进制字符,但我不确定xB语法是否有效(即引用垂直制表符字符)或它是否应该只是\ B?此外,x9有效还是应该只有9?

perl -ane '{ if(m/([\x0-\x9]|[\xB-\xC]|[\xE-\x1F]|[\x7F-\xFF])/) { print } }'
Run Code Online (Sandbox Code Playgroud)

dax*_*xim 5

perl -lne 'print if /[\x00-\x09\x0b\x0c\x0e-\x1f\x7f-\xff]/'
Run Code Online (Sandbox Code Playgroud)

记录在http://perldoc.perl.org/perlrecharclass.html#Bracketed-Character-Classes中:

[某些序列,包括]\x也是特殊的,与括号中的字符类之外的含义相同.