【发布时间】:2012-01-29 21:07:44
【问题描述】:
在 perl 中,我尝试使用正则表达式搜索特定的十六进制字符,但我不确定 xB 语法是否有效(即引用垂直制表符)还是应该只是 \B?另外,x9 有效还是应该只是 9?
perl -ane '{ if(m/([\x0-\x9]|[\xB-\xC]|[\xE-\x1F]|[\x7F-\xFF])/) { print } }'
【问题讨论】:
-
“十六进制字符”是什么意思?
[0-9A-Fa-f]?还是某些已定义字符集中的特定值? -
你到底想匹配什么?标签是
\x09 -
垂直标签是
\x0B -
一切都是十六进制的。 'Z' 在我的系统中是 0x7A。你想匹配'Z'吗?或者您想匹配表示十六进制值的字符?你想用什么?对? 00 01 02... C 风格? (0xAA, 0xFF) 大型机风格? (x'00, x'FF)?
-
如果我输入 x1F 那么我想匹配单位分隔符
标签: linux perl shell unix scripting