python regex capture groups code example

Example 1: python regex search group

>>> m = re.match(r"(\w+) (\w+)", "Isaac Newton, physicist")
>>> m[0]       # The entire match
'Isaac Newton'
>>> m[1]       # The first parenthesized subgroup.
'Isaac'
>>> m[2]       # The second parenthesized subgroup.
'Newton'

Example 2: python named group regex example

>>> re.search(r'(?P<name>[^-]+)-(?P<ver>\d.\d.\d-\d+).tar.gz', 'package_name-1.2.3-2004.tar.gz').groupdict()
{'name': 'package_name', 'ver': '1.2.3-2004'}

Example 3: python re.search()

## Search for pattern 'bb' in string 'aabbcc'.
  ## All of the pattern must match, but it may appear anywhere.
  ## On success, match.group() is matched text.
  match = re.search(r'bb', 'aabbcc') # found, match.group() == "bb"
  match = re.search(r'cd', 'aabbcc') # not found, match == None

  ## . = any char but \n
  match = re.search(r'...c', 'aabbcc') # found, match.group() == "abbc"

  ## \d = digit char, \w = word char
  match = re.search(r'\d\d\d', 'p123g') # found, match.group() == "123"
  match = re.search(r'\w\w\w', '@@abcd!!') # found, match.group() == "abc"

Example 4: python re

if pattern := re.search("[iI] am (.*)", "I am tired"):
    print(f"Hi {pattern.group(1)}, I'm dad!")