Posted to tcl by gwlester at Fri Jun 16 20:59:43 GMT 2017view pretty
proc test {srvurl} { set validityRE {(?xi) ^ # Path part (already must start with / character) (?: [-\w.~!$&'()*+,;=:@/] | %[0-9a-f][0-9a-f] )* # Query part (optional, permits ? characters) (?: \? (?: [-\w.~!$&'()*+,;=:@/?] | %[0-9a-f][0-9a-f] )* )? $ } if {![regexp -- $validityRE $srvurl]} { # Provide a better error message in this error case if {[regexp {(?i)%(?![0-9a-f][0-9a-f])..} $srvurl bad]} { puts stdout "Yes!! That is it!!" } puts stdout "No, try again. :(" } } test {snafu?%##}