Posted to tcl by Whiskey at Tue Apr 16 08:21:06 GMT 2013view pretty

 proc Filter-Regexp {arg} {

	# Set regexp patterns
	set pattern(1) {"0" "2" "3"}
	set pattern(2) {"0" "2" "3"}

	# Start to loop arrays
	foreach {id values} [array get pattern] {
	  set number "[lindex $values 0]"
	  set reason "[lindex $values 1]"
	  set regex "[lindex $values 2]"

	  if {[isResult [set match [regexp -all -inline -nocase $regex $arg]]]} {
	    return [list "$reason" "[lsort -unique $match]" "$regex" "$id"]
	  }
	}

	# Return zero
	return "0"
      }