编写程序,输入一个字符串,统计其中大写字母、小写字母、数字及其他字符的个数,要求使用正则表达式。
时间: 2024-01-09 08:49:07 浏览: 117
以下是Python的代码示例:
```python
import re
string = input("请输入一个字符串:")
upper_count = len(re.findall(r'[A-Z]', string))
lower_count = len(re.findall(r'[a-z]', string))
digit_count = len(re.findall(r'\d', string))
other_count = len(re.findall(r'\W', string))
print("大写字母个数:", upper_count)
print("小写字母个数:", lower_count)
print("数字个数:", digit_count)
print("其他字符个数:", other_count)
```
代码中使用了re模块的findall()函数,以正则表达式匹配字符串中的大写字母、小写字母、数字和其他字符,并通过len()函数取得匹配结果的数量,最终输出各种字符的数量。
相关问题
编写程序,输入一个字符串,统计其中大写字母、小写字母、数字及其他字符的个数,要求使用正则表达式。第一行输入字符串,第二行输出统计结果(冒号为中交的冒号),每种类型之间用空格分隔。
对于这个问题,我可以回答。以下是代码示例:
import re
string = input()
uppercase_count = len(re.findall(r'[A-Z]', string))
lowercase_count = len(re.findall(r'[a-z]', string))
digit_count = len(re.findall(r'\d', string))
other_count = len(re.findall(r'[^A-Za-z\d\s]', string))
print("大写字母数量:", uppercase_count, ";小写字母数量:", lowercase_count, ";数字数量:", digit_count, ";其他字符数量:", other_count)
编写生成器函数,接收一个字符串,分别统计大写字母、小写字母、数字、其他字符的个数,以元组的形式返回结果, 返回的元组的第一个元素依次是字符串 '大写字母'、'小写字母'、'数字' 和 '其他字符',第二个元素是相应的字符个数
可以使用Python内置的字符串方法isupper()、islower()、isdigit()来判断字符是否为大写字母、小写字母、数字。其他字符则可以使用正则表达式判断。
代码如下:
```python
import re
def count_chars(s):
upper_count = 0
lower_count = 0
digit_count = 0
other_count = 0
for c in s:
if c.isupper():
upper_count += 1
elif c.islower():
lower_count += 1
elif c.isdigit():
digit_count += 1
elif re.match(r'\W', c):
other_count += 1
return ('大写字母', upper_count), ('小写字母', lower_count), ('数字', digit_count), ('其他字符', other_count)
```
我们可以测试一下:
```python
s = 'Hello, World! This is a test string. 1234567890'
result = count_chars(s)
print(result)
```
输出:
```
(('大写字母', 2), ('小写字母', 25), ('数字', 10), ('其他字符', 12))
```
阅读全文