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

标签 linux perl shell unix scripting

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

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

最佳答案

perl -lne 'print if /[\x00-\x09\x0b\x0c\x0e-\x1f\x7f-\xff]/'

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

[Some sequences, including] \x are also special and have the same meanings as they do outside a bracketed character class.

关于linux - 单字母十六进制的 Perl 正则表达式语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8668011/

相关文章:

shell - 从awk退出主shell脚本

python - 具有所有 Linux 依赖项的可执行 Python 程序

python - 有没有办法使用 Perl 或 Python 检索进程统计信息?

linux - 使用 sudo 作为另一个用户运行时的 Perl 系统调用

java - 是否有任何 Java 库可以对 http.conf 等 unix 配置文件进行操作

linux - 从 .txt 文件中读取键值对并在 shell 脚本中使用

shell - Dockerfile:尝试运行shell脚本时的代码127

.net - 我们可以将 mono 捆绑在我们的安装包中吗?

java - 删除旧的 .lck 文件

java - 使用php获取内存使用情况