Posted to tcl by mjanssen at Wed Jan 25 20:56:37 GMT 2017view pretty
proc matchGroup { string groups } { foreach {test exs} $groups { foreach ex $exs { if {[regexp -nocase $ex $string -> match]} { puts "Matched: $test | Regexp: $ex" return } } } } set groups [list test1 (first)] lappend groups test2 [list (second) (other)]] lappend groups test3 [list (final) (works) (last)]] % matchGroup "this is first" $groups Matched: test1 | Regexp: (first) % matchGroup "this is the second test and i match some other words in here" $groups Matched: test2 | Regexp: (second) % matchGroup "this is the final test just hope that its works as it is the last test" $groups Matched: test3 | Regexp: (final)