如何只匹配垂直标签?

时间:2016-04-12 02:08:49

标签: regex perl pattern-matching

我正在尝试删除垂直制表符。我尝试过使用\v,但这似乎与换行符匹配:

$str =~ s/\v/ /;

如何只匹配perl中的垂直制表符?

2 个答案:

答案 0 :(得分:3)

\v并不匹配行列表(垂直制表符);它匹配所有垂直空白字符。

$ unichars '\v' | cat
 ---- U+000A LINE FEED
 ---- U+000B LINE TABULATION
 ---- U+000C FORM FEED
 ---- U+000D CARRIAGE RETURN
 ---- U+0085 NEXT LINE
 ---- U+2028 LINE SEPARATOR
 ---- U+2029 PARAGRAPH SEPARATOR

您想要专门匹配U + 000B LINE TABULATION。您可以使用以下任何一种方法:

\x0B
\x{B}
\x{0B}
\x{000B}
\x{0000B}
\013
\cK
\N{U+B}
\N{U+000B}
\N{U+0000B}
\N{LINE TABULATION}
\N{VT}

答案 1 :(得分:0)

来自perlrebackslash

$str =~ /\cK/;  # Matches if $str contains a vertical tab (control-K).