当前位置:   article > 正文

java 正则 不可见字符_正则表达式匹配不可见字符

java 正则 不可见字符_正则表达式匹配不可见字符

在文本中,文字符号分为3种,如表:

普通文字符号     A到Z ,a到z,数字0到9,以及不是元字符的其他符号(比如:#、=)

元字符               12个被保留做特殊用途的符号:[]\^.|?*+(){}

不可见字符         \cx 匹配由 x 指明的控制字符。例如,/cM 匹配一个Control-M或回车符。x 的值必须是A~Z 或 a~z 之一。否则,讲c视为一个原义的"c"字符

\f 匹配一个换页符。等价于 \x0c 和 \cL

\f 匹配一个换行符。等价于 \x0a 和 \cJ

\r 匹配一个回车符。等价于 \x0d 和 \cM

\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[\f\n\r\t\v]

\S 匹配任何非空白字符。等价于 [^\f\n\r\t\v]

\t 匹配一个制表符。等价于 \x09 和 \cI

\v 匹配一个垂直制表符。等价于 \x0b 和 \cK

对于元字符,由于它们在正则表达式中有特殊的用途,所以如果字符串中有和元字符相同的字符,那么要用反斜杠“\”来进行转义。比如下面例中,由于“?”号是元字符,所以要匹配问号时,要加上反斜杠转义。

对于不可见字符的匹配:有一个err文件,其内容如下

例如:$ cat -v err

168158.784523 1993024434 3396788324 63375 53 h^A^L.hit.edu.cn. 1 0 1 1

cat利用-v选项显示不可见字符,本例中为^A^L,即ascii码的\001\014,则可以用一下命令匹配。

$cat err|awk '{if( $6 ~ /\f/) {print $0}}'

168158.784523 1993024434 3396788324 63375 53 h                                               .hit.edu.cn. 1 0 1 1

cat err|awk '{if( $6 ~ /\014/) {print $0}}'

168158.784523 1993024434 3396788324 63375 53 h

.hit.edu.cn. 1 0 1 1

cat err|awk '{if( $6 ~ /\x0c/) {print $0}}'

168158.784523 1993024434 3396788324 63375 53 h                                               .hit.edu.cn. 1 0 1 1

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/835918
推荐阅读
相关标签
  

闽ICP备14008679号