到目前为止,我一直在我的程序regcomp
中使用常规字符串上的正则表达式。
现在,我需要在非ASCII二进制流中找到特定的字节模式:我理解regcomp
在这种情况下无法工作。
实际上,我想要一些让我定义的东西 - 比方说 - 一个3字节的模式,可能使用十六进制表示法:
\x27\x87\xFE
谢谢
答案 0 :(得分:2)
如果您需要一个适用于UTF-8的正则表达式库,则应使用Phillip Hazel’s excellent PCRE library。
答案 1 :(得分:0)
我简单地发现了:
regexp.h不解释输入字符串。这意味着:
您可以轻松地将任意字节传递给regcomp
,如此
char buffer [10] =“\ x01abcd \ x03”;
但是当传递上面用ASCII编码的相同字符串时,regexp.h不会像C编译器那样解释它。
解析网络内容时,PCRE更适合使用。谢谢tchrist