0
我有一个lex模式文件(test.l),我想要识别IPv4地址和IPv6地址的模式。IPv4和IPv6地址的lex模式
目前我使用的二进制图案符号例如
src -ip of 192.168.156.203 is to be written as
1 src-ip {11000000 10101000 10011100 11001011}
其中“1”,我使用的classification.I希望扩展该图案包括IPv4地址(点分十进制)和IPv6地址的标签(quad notation)
目前我的词法分析器文件(test.l)的相关部分如下所示。
BINARY_PATTERN [ \t]*[ \t0-1\-\*]+[ \t]*
<S_src_ip>\{{BINARY_PATTERN}\} {
/*Some code here*/
}
我稍微扩展了下面的代码。
<S_dst_ip>\{{BINARY_PATTERN}\}|\{[0-255]\\.[0-255]\\.[0-255]\\.[0-255}\}
支持IPv4地址。是否有上述代码有问题。另外我如何扩展它以支持IPV6模式。
我不能编译上述code.It是显示
flex --header-file="test.h" test.l
test.l:50: bad character class
有人能指出什么是错误。