re.search()

Anonymous contributor's avatar
Anonymous contributor
Anonymous contributor's avatar
Anonymous contributor
Published Jul 30, 2021Updated Sep 5, 2023
Contribute to Docs

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

Syntax

re.search(<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
  • Flags: IGNORECASE, VERBOSE, DOTALL

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

Example

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

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

The output will look like this:

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

Codebyte Example

The following code example demonstrates the usage of re.search() with a regular expression to find and match the first email address within a given text.

Code
Output
Loading...

All contributors

Looking to contribute?

Learn Python on Codecademy