python re正则表达式 练习
时间: 2023-12-25 13:30:37 浏览: 181
Python中的正则表达式(re模块)是一个用于处理字符串的强大工具,它可以用来匹配、查找、替换和分割字符串。以下是一些常用的正则表达式操作:
1. 导入re模块:`import re`
2. 匹配字符串:使用`re.match()`函数,如果字符串开头匹配正则表达式,则返回一个匹配对象;使用`re.search()`函数,如果字符串中有匹配的部分,则返回一个匹配对象;使用`re.findall()`函数,返回所有匹配的列表;使用`re.finditer()`函数,返回一个迭代器,包含所有匹配的元组。
3. 替换字符串:使用`re.sub()`函数,将匹配到的部分替换为指定的字符串。
4. 分割字符串:使用`re.split()`函数,根据匹配到的正则表达式分割字符串。
下面是一些练习题:
1. 编写一个程序,从输入的字符串中提取所有的数字。
解析:使用`re.findall()`函数,匹配所有的数字。
```python
import re
def extract_numbers(s):
return re.findall(r'\d+', s)
input_str = "abc123def456"
print(extract_numbers(input_str))
```
2. 编写一个程序,将输入的字符串中的所有字母转换为大写。
解析:使用`re.sub()`函数,将所有的小写字母替换为大写字母。
```python
import re
def to_uppercase(s):
return re.sub(r'[a-z]', lambda x: x.group().upper(), s)
input_str = "Hello, World!"
print(to_uppercase(input_str))
```
3. 编写一个程序,将输入的字符串中的所有单词逆序排列。
解析:首先使用`re.split()`函数分割字符串,然后使用`reversed()`函数逆序排列单词,最后使用`join()`函数将单词连接成字符串。
```python
import re
def reverse_words(s):
words = re.split(r'\s+', s)
reversed_words = [''.join(reversed(word)) for word in words]
return ' '.join(reversed_words)
input_str = "Hello, World!"
print(reverse_words(input_str))
```
阅读全文