令字符串 s='马丽于2022-4-29 10:10刊发了一首诗《Listen to me》,诗词的大意是:\n Mama you taught me to do the right things,\n So now you have to let your baby fly.\n You've given me everything that I will need,\n To make it through this crazy thing called life,\n Thank you Mum!' ,通过编写函数实现下述各题功能。 1 应用正则表达式判断该字符串是否包含0~9的数字和大小写英文字母。 2 根据正则表达式使用中文逗号、中文句号、英文逗号、英文点号、英文感叹号、英文换行符号将该字符串分割成多个子串。 3 应用正则表达式提取该字符串中的日期时间字符串。 4 应用正则表达式提取该字符串中的诗词名称。 5 应用正则表达式提取该字符串中的姓名。
时间: 2023-06-01 19:04:30 浏览: 151
CLOB 字段类型报错 ORA-01704: 文字字符串过长的解决
4星 · 用户满意度95%
1. 使用re模块判断字符串是否包含0~9的数字和大小写英文字母:
```python
import re
s = '马丽于2022-4-29 10:10刊发了一首诗《Listen to me》,诗词的大意是:\n Mama you taught me to do the right things,\n So now you have to let your baby fly.\n You\'ve given me everything that I will need,\n To make it through this crazy thing called life,\n Thank you Mum!'
pattern = re.compile('[0-9a-zA-Z]+')
result = pattern.findall(s)
if result:
print('字符串中包含数字和英文字母')
else:
print('字符串中不包含数字和英文字母')
```
2. 使用正则表达式将该字符串分割成多个子串:
```python
import re
s = '马丽于2022-4-29 10:10刊发了一首诗《Listen to me》,诗词的大意是:\n Mama you taught me to do the right things,\n So now you have to let your baby fly.\n You\'ve given me everything that I will need,\n To make it through this crazy thing called life,\n Thank you Mum!'
pattern = re.compile('[,,.。!!\n]')
result = pattern.split(s)
print(result)
```
3. 使用正则表达式提取该字符串中的日期时间字符串:
```python
import re
s = '马丽于2022-4-29 10:10刊发了一首诗《Listen to me》,诗词的大意是:\n Mama you taught me to do the right things,\n So now you have to let your baby fly.\n You\'ve given me everything that I will need,\n To make it through this crazy thing called life,\n Thank you Mum!'
pattern = re.compile('\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}')
result = pattern.findall(s)
print(result)
```
4. 使用正则表达式提取该字符串中的诗词名称:
```python
import re
s = '马丽于2022-4-29 10:10刊发了一首诗《Listen to me》,诗词的大意是:\n Mama you taught me to do the right things,\n So now you have to let your baby fly.\n You\'ve given me everything that I will need,\n To make it through this crazy thing called life,\n Thank you Mum!'
pattern = re.compile('《(.+?)》')
result = pattern.findall(s)
print(result)
```
5. 使用正则表达式提取该字符串中的姓名:
```python
import re
s = '马丽于2022-4-29 10:10刊发了一首诗《Listen to me》,诗词的大意是:\n Mama you taught me to do the right things,\n So now you have to let your baby fly.\n You\'ve given me everything that I will need,\n To make it through this crazy thing called life,\n Thank you Mum!'
pattern = re.compile('[\u4e00-\u9fa5]{2,3}')
result = pattern.findall(s)
print(result)
```
阅读全文