统计学研硕大数据统计练手07

统计学Python练手作业07


在这里插入图片描述
AI绘图仅供欣赏

题目

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。


以下仅供参考,欢迎指正,共同探讨。

一、程序

代码如下(示例):

import re  # 正则表达式re.findall()
s = input('请输入一串字符:')
char=re.findall(r'[a-zA-Z]',s)# 以列表类型返回全部能匹配的子串
num=re.findall(r'[0-9]',s)
blank=re.findall(r' ',s)
chi=re.findall(r'[\u4E00-\u9FFF]',s) # 汉字的Unicode编码范围
other = len(s)-len(char)-len(num)-len(blank)-len(chi)
print('字母',len(char),'\n数字',len(num),'\n空格',len(blank),'\n中文',len(chi),'\n其他',other)

二、结果

代码如下(示例):

请输入一串字符:ddfadfafafawASSDSA
字母 18 
数字 0 
空格 0 
中文 0 
其他 0

总结

本题需要利用到正则表达式。正则表达式(Regular Expression,通常简写为regex、regexp或RE)是一种文本模式,用于描述和匹配一系列符合某个模式(规则)的文本。

正则表达式由普通字符(例如字母和数字)以及特殊字符(称为元字符)组成。这些元字符包括字符类、预定义的匹配模式、量词和边界匹配等。正则表达式可以用来检索、替换或提取文本中符合某个模式的子串。

在编程语言中,正则表达式通常用于字符串操作,例如在Perl、Scala、PHP、C#、Java、C++、Objective-C、Swift、VBScript、Javascript、Ruby和Python等语言中都支持正则表达式的功能。

此外,正则表达式也常用于验证和格式化文本,例如检查数字格式、提取电子邮件地址、验证表单数据等。

基本概念:
字符: 正则表达式中的字符表示它们本身,例如字母、数字、标点符号等。
元字符: 元字符是具有特殊含义的字符,如 ., , +, ?, \\\\, [], (), {}, ^, $ 等。 模式: 模式是由字符、元字符和组合构成的字符串,描述了要匹配的文本模式。 基本语法: 普通字符: 大多数字符只表示它们自己,例如字符 "a" 匹配字符串中的字符 "a"。 点号 .: 匹配任意一个字符,除了换行符 \\\\n。 字符类 [...]: 匹配方括号中列举的任意一个字符。例如 [aeiou] 匹配任意一个元音字母。 取反字符类 [^...]: 匹配不在方括号中列举的任意一个字符。 元字符 : 匹配前面的字符零次或多次。
元字符 +: 匹配前面的字符一次或多次。
元字符 ?: 匹配前面的字符零次或一次。
元字符 {n}: 匹配前面的字符恰好 n 次。
元字符 {n,}: 匹配前面的字符至少 n 次。
元字符 {n,m}: 匹配前面的字符至少 n 次,但不超过 m 次。
转义字符 \\: 用于转义特殊字符,使其失去特殊含义。例如 \\. 匹配真正的句点。
开头匹配 ^: 表示匹配文本的开头。
结尾匹配 $: 表示匹配文本的结尾。
分组 ( … ): 将多个字符组合成一个整体,并对整体应用元字符。
或 |: 用于在多个模式中选择一个,类似于逻辑的 “或” 操作。
转义序列: 使用反斜杠 \\ 后面跟特定字符来表示特殊含义,如 \\d 表示任意一个数字字符。

具体学习请至CSDN知识树学习,不做累述。

例如,以下几个常用的正则表达式:

   #由数字、26个英文字母或者下划线组成的字符串:
    ^[0-9a-zA-Z_]{1,}$
   #非负整数(正整数 + 0 ):
    ^/d+$
   #正整数:
    ^[0-9]*[1-9][0-9]*$
   #非正整数(负整数 + 0):
    ^((-/d+)|(0+))$
   #负整数 :
    ^-[0-9]*[1-9][0-9]*$
  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值