in reply to Tk $widget->search() issues?

I'm having a hard time getting a "grasp" on your problem, I'm in "fuzzy" mode this morning. But this is what pops into my head, and maybe it will help you.

The search method allows for a "kind" of search, either 'exact' or 'regexp', and maybe you can use that to your advantage. Have you looked at the widget demo, for " A search tool built with a text widget" ? It has a great sub:

sub search_text { # The utility procedure below searches for all instances of a give +n # string in a text widget and applies a given tag to each instance + found. # Arguments: # # w - The window in which to search. Must be a text widget. # string - Reference to the string to search for. The search i +s done # using exact matching only; no special characters. # tag - Tag to apply to each instance of a matching string. # kind rexexp or exact my($w, $string, $tag, $kind) = @_; return unless ref($string) && length($$string); $w->tagRemove($tag, qw/0.0 end/); my($current, $length) = ('1.0', 0); while (1) { $current = $w->search(-count => \$length, "-$kind", $$string, $cur +rent, 'end'); last if not $current; warn "Posn=$current count=$length\n", $w->tagAdd($tag, $current, "$current + $length char"); $current = $w->index("$current + $length char"); } } # end search_text

Maybe you could compare the search results between exact and regexp, and filter according to your needs?


I'm not really a human, but I play one on earth. flash japh