使用正则表达式统计Python程序中大写字母、小写字母、特殊字符和数字值的个数

使用正则表达式统计Python程序中大写字母、小写字母、特殊字符和数字值的个数

常见的正则表达式,通常称为re或者Regex,是一种在文本中操作和搜索模式的强大工具。在Python中,通过re模块实现了正则表达式的功能。正则表达式是由一系列字符组成的,用于定义搜索模式。该模式用于匹配和操作文本字符串,对于数据清洗、解析和验证等任务非常有用。

使用正则表达式(regex)统计字符串中大写字母、小写字母、特殊字符和数字值的个数,我们可以使用特定的模式来匹配和统计所需的字符。

以下是使用正则表达式统计大写字母、小写字母、特殊字符和数字值的模式和解释:

  • 大写字母 –
    • 模式 – [A-Z]

    • 解释 – 模式[A-Z]匹配从A到Z的任何大写字母。连字符-指定了一个字符的范围。因此,此模式可以匹配输入字符串中的任何大写字母。

  • 小写字母 –

    • 模式 – [a-z]

    • 解释 – 模式[a-z]匹配从a到z的任何小写字母。与大写字母类似,此模式捕获输入字符串中的任何小写字母。

  • 特殊字符 –

    • 模式 – [^A-Za-z0-9]

    • 解释 – 模式[^A-Za-z0-9]匹配任何不是大写字母、小写字母或数字的字符。方括号[^ ]中的插入符号^表示否定。因此,此模式匹配范围不在A-Z、a-z或0-9之内的任何特殊字符。

  • 数字值 –

    • 模式 – [0-9]

    • 解释 – 模式匹配从0到9的任何数字。

要计算每个类别的出现次数,我们可以使用Python中的re模块的re.findall()函数。该函数在输入字符串中搜索模式的所有非重叠出现,并将它们作为列表返回。返回列表的长度给出了出现次数。

输入输出情况

让我们来探索一些输入输出情况,以计算给定字符串中大写字母、小写字母、特殊字符和数字值的个数。

情况1 –

Input string: Hello World!
Output:
Uppercase letters: 2
Lowercase letters: 8
Special characters: 1
Numeric values: 0

输入字符串“Hello World!”有2个大写字母(H和W),8个小写字母(e,l,l,o,o,r,l,d),1个特殊字符(!)和0个数字值。

场景2−

Input string: @#Hello1234#@
Output:
Uppercase letters: 1
Lowercase letters: 4
Special characters: 4
Numeric values: 4

输入字符串“@#Hello1234#@”有1个大写字母(H),4个小写字母(e,l,l,o),4个特殊字符(@,#,#,@),和4个数字(1,2,3,4)。

让我们举一个例子来计算给定字符串中大写字母,小写字母,特殊字符和数字值的数目。

import re

def count_characters(input_string):
    uppercase_count = len(re.findall(r'[A-Z]', input_string))
    lowercase_count = len(re.findall(r'[a-z]', input_string))
    special_count = len(re.findall(r'[^A-Za-z0-9]', input_string))
    numeric_count = len(re.findall(r'[0-9]', input_string))

    return uppercase_count, lowercase_count, special_count, numeric_count

# define the input string
input_str = 'Tutor1als!p0int'
upper, lower, special, numeric = count_characters(input_str)

print("Uppercase letters:", upper)
print("Lowercase letters:", lower)
print("Special characters:", special)
print("Numeric values:", numeric)

输出

Uppercase letters: 1
Lowercase letters: 11
Special characters: 1
Numeric values: 2

示例

在此示例中,我们将计算文本文件中大写字母、小写字母、特殊字符和数值的数量。以下是文本文件中的文本数据:

使用正则表达式统计Python程序中大写字母、小写字母、特殊字符和数字值的个数

import re

def count_characters(filename):
    with open(filename, 'r') as file:
        for line in file:
            uppercase_count = len(re.findall(r'[A-Z]', line))
            lowercase_count = len(re.findall(r'[a-z]', line))
            special_count = len(re.findall(r'[^A-Za-z0-9]', line))
            numeric_count = len(re.findall(r'[0-9]', line))

    return uppercase_count, lowercase_count, special_count, numeric_count

# Provide the path of the text file
file = 'Example_text_file.txt'

# Call the function to count Uppercase, Lowercase, special character and numeric values 
upper, lower, special, numeric = count_characters(file)

print("Uppercase letters:", upper)
print("Lowercase letters:", lower)
print("Special characters:", special)
print("Numeric values:", numeric)

输出

Uppercase letters: 1
Lowercase letters: 4
Special characters: 4
Numeric values: 4

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程