Searching the Contents of a Text Widget

You can use the search method to search the Text widget for a pattern or regular expression. The search method takes some optional switches, the pattern to search for, and an index at which to start searching:

$index = $text->search([switches], pattern, index, [ stopindex ])

If a match is made, the index returned points to the first character in the match. If no match is made, an empty string is returned.

Here is a simple example of using search:

$result = $text->search(-backwards => "find me", 'end'); $location = $text->search(-nocase => "SWITCHES", "1.0");

See the sidebar "Search Options" for more information.

Search Options

  • -forwards
  • Tells search to search forward through the Text widget starting at index. This is the default.
  • -backwards
  • Tells search to search backward through the Text widget starting at the character before index.
  • -exact
  • The pattern must match the text exactly. This is the default.
  • -regexp
  • The pattern will be considered as a regular expression.
  • -nocase
  • Ignores case between pattern and the text within the Text widget.
  • -hidden
  • Searches text even if it has a tag with -state => hidden.
  • -count => varname
  • varname is a pointer to a variable (i.e., $variable). The number of characters matched will be stored within that variable.
  • --
  • This option does nothing except force the next argument to be taken as the pattern even if the next string starts with a "-".