我想写一个正则表达式,它将检查IP是否有效或不。表面问题当我给256值,它仍然匹配2,和REG将存储值作为1,因为模式匹配。tcl正则表达式匹配ip地址在单行
set ip "256.256.255.1"
set reg [regexp -all{^([1-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).([1-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).([1-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).([1-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])} $ip match ]
puts $reg
我不会推荐在这种情况下使用正则表达式。使用正则表达式实际上会降低性能。签出https://stackoverflow.com/questions/15587213/regex-for-a-number-greater-than-x-and-less-than-y – Tejus