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

  1. proc Filter-Regexp {arg} {
  2.  
  3. # Set regexp patterns
  4. set pattern(1) {"0" "2" "3"}
  5. set pattern(2) {"0" "2" "3"}
  6.  
  7. # Start to loop arrays
  8. foreach {id values} [array get pattern] {
  9. set number "[lindex $values 0]"
  10. set reason "[lindex $values 1]"
  11. set regex "[lindex $values 2]"
  12.  
  13. if {[isResult [set match [regexp -all -inline -nocase $regex $arg]]]} {
  14. return [list "$reason" "[lsort -unique $match]" "$regex" "$id"]
  15. }
  16. }
  17.  
  18. # Return zero
  19. return "0"
  20. }