Python Re
## Python3.x Python re Module
Python's `re` module is a standard library module for handling regular expressions.
Regular Expression (abbreviated as regex or regexp) is a powerful tool for matching, searching, and manipulating text.
Through the `re` module, you can use regular expressions to process strings in Python.
### Why use the re module?
When processing text, we often need to find specific patterns or replace certain characters. For example, validating email addresses, extracting links from web pages, or formatting text. Manually writing code to accomplish these tasks can be very tedious, and regular expressions provide a concise and efficient way to solve these problems.
* * *
### 1. Import re Module
Before using the `re` module, you need to import it first:
import re
### 2. Common re Module Functions
#### 2.1 `re.match()`
The `re.match()` function is used to match a regular expression from the beginning of a string. If the match succeeds, it returns a match object; otherwise, it returns `None`.
## Example
import re
pattern = r"hello"
text ="hello world"
match =re.match(pattern, text)
if match:
print("Match successful:", match.group())
else:
print("Match failed")
**Output:**
Match successful: hello
#### 2.2 `re.search()`
The `re.search()` function searches for the first match of a regular expression in a string. Unlike `re.match()`, `re.search()` does not require the match to start from the beginning of the string.
## Example
import re
pattern = r"world"
text ="hello world"
match =re.search(pattern, text)
if match:
print("Match successful:", match.group())
else:
print("Match failed")
**Output:**
Match successful: world
#### 2.3 `re.findall()`
The `re.findall()` function finds all substrings in a string that match the regular expression and returns a list.
## Example
import re
pattern = r"d+"
text ="There are 3 apples and 5 oranges."
matches =re.findall(pattern, text)
print("Numbers found:", matches)
**Output:**
Numbers found: ['3', '5']
#### 2.4 `re.sub()`
The `re.sub()` function is used to replace parts of a string that match the regular expression.
## Example
import re
pattern = r"apple"
text ="I have an apple."
new_text =re.sub(pattern,"banana", text)
print("Text after replacement:", new_text)
**Output:**
Text after replacement: I have an banana.
* * *
## Basic Syntax of Regular Expressions
### 1. Ordinary Characters
Ordinary characters (such as letters and digits) match themselves directly.
## Example
import re
pattern = r"cat"
text ="The cat is on the mat."
match =re.search(pattern, text)
if match:
print("Match successful:", match.group())
**Output:**
Match successful: cat
### 2. Special Characters
Regular expressions contain some special characters that have special meanings. For example:
* `.`: Matches any single character (except newline).
* `*`: Matches the preceding character zero or more times.
* `+`: Matches the preceding character one or more times.
* `?`: Matches the preceding character zero or one time.
* `d`: Matches any digit character (equivalent to ``).
* `w`: Matches any letter, digit, or underscore character (equivalent to ``).
## Example
import re
pattern = r"d+"
text ="The price is 100 dollars."
match =re.search(pattern, text)
if match:
print("Match successful:", match.group())
**Output:**
Match successful: 100
### 3. Character Set
A character set is used to match any one of a set of characters. For example, `` matches `a`, `b`, or `c`.
## Example
import re
pattern = r""
text ="Hello World!"
matches =re.findall(pattern, text)
print("Vowels found:", matches)
**Output:**
Vowels found: ['e', 'o', 'o']
### 4. Grouping
Grouping allows you to combine multiple characters together and operate on them. For example, `(abc)` matches `abc`.
## Example
import re
pattern = r"(ab)+"
text ="ababab"
match =re.search(pattern, text)
if match:
print("Match successful:", match.group())
**Output:**
Match successful: ababab
* * *
## Practice Exercises
### Exercise 1: Validate
YouTip