python正则表达式举例
正则表达式是一种强大的文本匹配工具,可以用于在字符串中查特定模式的文本。在Python中,我们可以使用re模块来实现正则表达式的匹配操作。下面是一些常见的正则表达式的用法举例:
1. 匹配数字:可以使用\d来匹配一个数字。例如,使用正则表达式\d+可以匹配一个或多个数字。
python
import re
s = "apple 123 orange 456"
pattern = r"\d+"
result = re.findall(pattern, s)
print(result)  # 输出 ['123', '456']
2. 匹配单词:可以使用\w来匹配一个单词字符(包括字母、数字和下划线)。例如,使用正则表达式\w+可以匹配一个或多个单词。
python
import re
s = "I have 2 cats and 3 dogs."
pattern = r"\w+"
result = re.findall(pattern, s)
print(result)  # 输出 ['I', 'have', '2', 'cats', 'and', '3', 'dogs']
3. 匹配邮箱:可以使用\w+@\w+\.\w+来匹配一个邮箱地址。
python
import re
s = "My email address is abc123@yahoo."
pattern = r"\w+@\w+\.\w+"
result = re.findall(pattern, s)
print(result)  # 输出 ['abc123@yahoo']
4. 匹配电话号码:可以使用\d{3}-\d{4}-\d{4}来匹配一个电话号码。
python
import re
s = "My phone number is 123-4567-8901."
pattern = r"\d{3}-\d{4}-\d{4}"
result = re.findall(pattern, s)
print(result)  # 输出 ['123-4567-8901']
5. 匹配日期:可以使用\d{4}-\d{2}-\d{2}来匹配一个日期。
python
import re
s = "Today is 2022-07-01."
pattern = r"\d{4}-\d{2}-\d{2}"
result = re.findall(pattern, s)
print(result)  # 输出 ['2022-07-01']
python正则表达式匹配小数
6. 替换文本:可以使用re.sub()函数来替换匹配到的文本。
python
import re
s = "I love apples."
pattern = r"apples"
replacement = "oranges"
result = re.sub(pattern, replacement, s)
print(result)  # 输出 "I love oranges."
7. 切分文本:可以使用re.split()函数来按照正则表达式匹配的文本进行切分。
python
import re
s = "I love apples and oranges."
pattern = r"\W+"
result = re.split(pattern, s)
print(result)  # 输出 ['I', 'love', 'apples', 'and', 'oranges']
8. 匹配中文字符:可以使用[\u4e00-\u9fa5]来匹配一个或多个中文字符。
python
import re
s = "我爱中文"
pattern = r"[\u4e00-\u9fa5]+"
result = re.findall(pattern, s)
print(result)  # 输出 ['我', '爱', '中文']
9. 匹配网址:可以使用((http https):)?([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?来匹配一个网址。