python字符串与正则表达式

实验3 字符串与正则表达式

1 实验目的

  • 理解字符串编码格式。

  • 熟练掌握字符串常用方法。

  • 了解正则表达式基本语法。

  • 了解标准库re中的常用函数。

2 实验内容

提示:import re

(一)单词倒置

将一句话的单词进行倒置,标点不倒置。(如 I like beijing. 变为:beijing. like I)

(二)句子拆解

将一句话分别拆为只含数字、小写字母、大写字母、标点符号(',.!;?<>')和中文('[\u4e00-\u9fa5]')的五个句子。

3 实验步骤

(一)单词倒置

  • 步骤1 输入一句话。

  • 步骤2 用空格对句子进行切片。

  • 步骤3 将元素反向排序。

  • 步骤4 输出单词倒置后的句子。

 
# 将一句话的单词进行倒置,标点不倒置。(如 I like beijing. 变为:beijing. like I)
import re

print("".join(['*' * 66, '\n', 'ZheLu 人 工 智 能 试 验 箱'.center(66), '\n', '-' * 66, '\n',
               'ex3_1 单词倒置'
              .center(66), '\n', '*' * 66]))

s = input("请输入一句话:")
s = re.split(r'\s+', s.strip())
print(' '.join(reversed(s)))

(二)句子拆解

  • 步骤1 输入一句话。

  • 步骤2 找到句子中所有的数字,并将它们合成一个句子。

  • 步骤3 再寻找小写字母、大写字母、标点符号和中文并输出。

# 将一句话分别拆为只含数字、小写字母、大写字母、标点符号(',.!;?<>')和中文('[\u4e00-\u9fa5]')的五个句子。

# 将一句话分别拆为只含数字、小写字母、大写字母、标点符号(',.!;?<>')和中文('[\u4e00-\u9fa5]')的五个句子。
import re

print("".join(['*' * 66, '\n', 'ZheLu 人 工 智 能 试 验 箱'.center(66), '\n', '-' * 66, '\n',
               'ex3_2 句子拆解'
              .center(66), '\n', '*' * 66]))

s = input("请输入一句话:")
print('数字:', ''.join(re.findall(r'[0-9]', s)))
print('小写字母:', ''.join(re.findall(r'[a-z]', s)))
print('大写字母:', ''.join(re.findall(r'[A-Z]', s)))
print('标点符号:', ''.join(re.findall(r'[,.!;?<>]', s)))
print('中文:', ''.join(re.findall(r'[\u4e00-\u9fa5]', s)))

4 观察与思考

思考以下正则表达式的含义及应用场景

  • '^\w+@(\w+.)+\w+$'

  • r'(\w)(?!.*\1)'

  • '((?P<f>.)(?P=f)(?P<g>.)(?P=g))'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值