Python 正则取数字

Python 正则取数字

Python 正则取数字

正则表达式是一种强大的文本匹配工具,通过定义模式来搜索、匹配和替换字符串。在很多编程语言中都有正则表达式的支持,Python 也不例外。在本文中,我们将详细讨论如何使用正则表达式来提取字符串中的数字。

什么是正则表达式?

正则表达式是一种描述字符串模式的方法,用于在文本中进行搜索和匹配。它可以通过一系列的字符,并按照特定的规则进行匹配操作。

Python 中,我们可以使用 re 模块来操作正则表达式。该模块包含了多个函数,最常用的是 re.match()re.search()re.findall()re.sub()

提取字符串中的数字

在很多实际问题中,我们需要从字符串中提取数字,并进行进一步的处理。接下来我们将介绍几种常见的提取数字的方法。

使用 \d+ 匹配正则表达式

正则表达式 \d+ 可以用来匹配一个或多个数字。下面是一个简单的示例代码:

import re

text = "There are 123 apples and 456 bananas."
numbers = re.findall(r'\d+', text)

print(numbers)

运行以上代码,输出为:

['123', '456']

这里我们使用 re.findall() 函数来找到字符串 text 中的所有数字,并将其存储在列表 numbers 中。

使用 \d{} 匹配指定数量的数字

如果我们只想提取特定长度的数字,可以使用 \d{}。例如,如果我们想提取长度为3的数字,可以使用 \d{3}。下面是一个示例代码:

import re

text = "2023 is the year of 4 numbers."
numbers = re.findall(r'\d{3}', text)

print(numbers)

运行以上代码,输出为:

['202', '4']

使用 \d+\.\d+ 提取小数

如果需要提取包含小数点的数字,我们可以使用 \d+\.\d+。例如:

import re

text = "The price is $3.55."
numbers = re.findall(r'\d+\.\d+', text)

print(numbers)

运行以上代码,输出为:

['3.55']

使用 \d+-\d+ 提取区间

有时候我们需要提取数字的区间,可以使用 \d+-\d+。例如:

import re

text = "The temperature ranges from -5 to 10 degrees."
numbers = re.findall(r'-?\d+-\d+', text)

print(numbers)

运行以上代码,输出为:

['-5-10']

总结

本文介绍了如何使用 Python 中的正则表达式来提取字符串中的数字。通过简单的示例代码,我们学习了几种常见的提取数字的模式。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程