The .search() method returns the first match of a character pattern anywhere in a given string.

Syntax<pattern>, string, <optional args>)

A <pattern> is a regular expression that can include any of the following:

  • A string: Jane
  • A character class code: /w, /s , /d
  • A regex symbol: $, |, ^

There are optional arguments that include the following:

  • A starting index value (pos): 3
  • An index value to end the search (endpos): 40

Note: .search() will only return the the first match (as a match object) within the string; alternatively, the .findall() method matches every occurrence (and returns a list of matches).


All content that appears within parentheses are matched with the .search() method in the example below:

import re
result ="\(.*\)", "the coordinates (lat:48,lon:-120)")
# Backslashes designate a symbol as part of the pattern

The output will look like this:

<re.Match object; span=(16, 33), match="(lat:48,lon:-120)">

Codebyte Example

The following example features a regex that uses the .search() method to match a web address:

import re
result ="www\S+", "the tutorials at")
# \S matches any character except a space, tab or newline


Interested in helping build Docs? Read the Contribution Guide or share your thoughts in this feedback form.

Learn Python on Codecademy