GNU Emacs provides two ways to search through a buffer for specified text: exact string searches and regular expression searches. After a regular expression search, you can examine the match data to determine which text matched the whole regular expression or various portions of it.
The ‘skip-chars...’ functions also perform a kind of searching. See Skipping Characters. To search for changes in character properties, see Property Search.