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?
In reply to Re: Tk $widget->search() issues?
by zentara
in thread Tk $widget->search() issues?
by Elijah
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |