如何使用 flex 和 bison 验证 ipv4 地址列表?
How to validate a list of ipv4 addresses using flex and bison?
我用来验证 IPv4 地址的正则表达式如下:
dec_octet [0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]
IPv4Address {dec_octet}\.{dec_octet}\.{dec_octet}\.{dec_octet}
%%
{IPv4Address} { /* return the value */ }
现在我想验证 ipv4 地址列表。如果可以重复使用相同的正则表达式,那就太好了。示例输入:
ip=(1.1.1.1,2.2.2.2,3.3.3.3)
分隔符可以是括号或逗号以外的任何内容。
任何帮助将不胜感激!!
说 IPV4
是有效 IPv4 地址的令牌 lex returns,在解析器文件中添加这些规则:
ipv4vector:
"ip" '=' '(' ipv4list ')'
ipv4list:
IPV4 | ipv4list ',' IPV4
我用来验证 IPv4 地址的正则表达式如下:
dec_octet [0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]
IPv4Address {dec_octet}\.{dec_octet}\.{dec_octet}\.{dec_octet}
%%
{IPv4Address} { /* return the value */ }
现在我想验证 ipv4 地址列表。如果可以重复使用相同的正则表达式,那就太好了。示例输入:
ip=(1.1.1.1,2.2.2.2,3.3.3.3)
分隔符可以是括号或逗号以外的任何内容。 任何帮助将不胜感激!!
说 IPV4
是有效 IPv4 地址的令牌 lex returns,在解析器文件中添加这些规则:
ipv4vector:
"ip" '=' '(' ipv4list ')'
ipv4list:
IPV4 | ipv4list ',' IPV4