我有一个下面给出的模式来匹配点分十进制表示法中的 ipv4 地址。
IPV4ADDRESS (([[:digit:]]{1,3}"."){3}([[:digit:]]{1,3}))
我用
%x S_rule S_dst_ip
<S_rule>(dst-ip){SPACE} {
BEGIN(S_dst_ip);
}
<S_dst_ip>\{{IPV4ADDRESS}\} {
/*code to process the sring here.*/
}
匹配表单的输入
dst-ip {10.13.12.138}
现在我想匹配
dst-ip { 10.13.12.138 } in addition to dst-ip {10.13.12.138}
我将上面定义的 IPV4ADDRESS 修改如下
IPV4ADDRESS [ \t]*(([[:digit:]]{1,3}"."){3}([[:digit:]]{1,3}))[ \t]*
但是,此修改似乎不匹配
dst-ip { 10.13.12.138 } OR dst-ip {10.13.12.138}
有人可以指出我的代码中的错误吗?