在正则表达式中使用三位ASCII代码

时间:2009-09-09 07:22:47

标签: regex

是否可以在PCRE正则表达式中使用三位ASCII码?空格字符是两位数字(40)。你需要添加一个零并将其转义为:\ 040

1 个答案:

答案 0 :(得分:6)

是的,您可以轻松地在正常情况下使用八进制转义符\377,在UTF-8模式下使用\777。引用manpage

  

非打印字符

     

第二次使用反斜杠提供了一种编码非打印字符的方法    以可见的方式表现出模式。没有限制    非打印字符的外观,除了二进制零之外    终止模式,但是当通过文本准备模式时    编辑时,通常更容易使用以下其中一个转义    序列比它代表的二进制字符:

...
\ddd        character with octal code ddd, or backreference
\xhh        character with hex code hh
\x{hhh..}   character with hex code hhh..

我在这个引用中包含了十六进制转义符,因为它们很可能更容易阅读并且不会与反向引用冲突。因此,根据您使用\123的频率,使用\x53可能更为明智。