在perl中捕获任何控制键(例如\ cn和\ cx)

时间:2014-03-07 03:32:15

标签: perl

这里的控制键是指键盘上的控制键加上任何字母。我可以单独匹配它们,例如\ cn或\ cx,但我怎样才能匹配所有这些键?

3 个答案:

答案 0 :(得分:2)

你的意思是在正则表达式中匹配吗?您可以使用远程字符类:

$contains_ctrl_char = $_ =~ /[\c@-\c_]/;
$contains_ctrl_char = $_ =~ /[\000-\037]/;
$contains_ctrl_char = $_ =~ /[\x{00}-\x{1F}]/;

这也可能是一个合适的POSIX角色类,虽然我不知道它是什么。

答案 1 :(得分:2)

您可以匹配字符类,即

perl -lne'print m / [[:cntrl:]] /?“yes”:“no”'

答案 2 :(得分:1)

POSIX角色类/[[:cntrl:]]/就是你想要的。

匹配字符代码0 .. 0x1F和DEL(0xFF)