【发布时间】:2015-01-25 14:26:17
【问题描述】:
proc mulval { addr } {
if {regexp {^([2][2-3][0-9])\.+(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-])\.+(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.+(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])$} $addr } {
puts "Valid IP Multicast Address"
} else {
puts"Invalid IP multicast Address"
}
}
以上代码在tcl中生成错误invalid bareword "regexp"。
我想知道单词中的错误是什么,tcl中什么是无效的bareword。如何调试。
【问题讨论】:
-
regex101.com/r/rG7gX4/27 正则表达式是正确的。检查其他的东西
-
你的
\.+应该是\.。否则它将匹配225.....255.255.0