# Regular Expressions — Python

Source: https://www.geekswithgeeks.com/en/python/py-regex

> Pattern-match and extract text with the re module.

## Core functions

`re.search` finds a pattern anywhere in a string; `re.findall` returns every match; `re.sub` replaces matches.

```python
import re

text = "Call 9876543210 or 8123456789"
phones = re.findall(r"\d{10}", text)
print(phones)                            # ['9876543210', '8123456789']

masked = re.sub(r"\d{10}", "[hidden]", text)
print(masked)
```

## Common pattern pieces

`\d` digit, `\w` word char, `\s` whitespace, `+` one-or-more, `*` zero-or-more, `?` optional. Prefix patterns with `r"..."` to avoid backslash headaches.
