如何在 Python 中使用正则表达式匹配任何非数字字符?\n\n


正则表达式是一组字符,允许您使用搜索模式查找字符串或一组字符串。RegEx 是正则表达式的另一个名称。Python 中的 re 模块用于处理正则表达式。

在本文中,我们研究了如何使用正则表达式在 Python 中提取非数字字符。我们使用 Python 中的\D+正则表达式从字符串中获取非数字字符。

其中,

  • \D 返回不包含数字的匹配项。
  • + 表示字符出现零次或多次。

使用 findall() 函数

在以下示例中,让我们假设“2018Tutorials point”作为字符串,我们需要消除 2018(这是一个数字)并必须提取 Tutorials point。

示例

在以下示例代码中,我们使用findAll()函数使用正则表达式在 Python 中匹配任何非数字字符。我们首先导入正则表达式模块。

import re

然后,我们使用了从 re 模块导入的findall()函数。

import re string = "2018Tutorials point" pattern= [r'\D+'] for i in pattern: match= re.findall(i, string) print(match)

re.findall()函数返回一个包含所有匹配项的列表,即包含非数字的字符串列表。

输出

执行上述程序后,将获得以下输出。

['Tutorials point']

示例

让我们看另一个示例,其中一个字符串包含多个数字。在这里,我们假设“5 childrens 3 boys 2 girls”作为输入短语。输出应该返回所有包含非数字的字符串。

import re string = "5 childrens 3 boys 2 girls" pattern= [r'\D+'] for i in pattern: match= re.findall(i, string) print(match)

输出

执行上述程序后,将获得以下输出。

[' childrens ', ' boys ', ' girls']

使用 search() 函数

在以下代码中,我们匹配“5 childrens 3 boys 2 girls”字符串,其中所有包含非数字的字符串都被提取为“childrens boys girls”。

示例

在以下示例代码中,我们使用search()函数使用正则表达式在 Python 中匹配任何非数字字符。我们首先导入正则表达式模块。

import re

然后,我们使用了从 re 模块导入的search()函数来获取所需的字符串。此re.search()函数搜索字符串/段落以查找匹配项,如果存在任何匹配项,则返回一个匹配对象。group()方法用于返回匹配的字符串部分。

import re phrase = 'RANDOM 5childerns 3 boys 2 girls//' pattern = r'(?<=RANDOM).*?(?=//)' match = re.search(pattern, phrase) text = match.group(0) nonDigit = re.sub(r'\d', '', text) print(nonDigit)

输出

执行上述程序后,将获得以下输出。

childerns  boys  girls

更新于: 2022年11月8日

5K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告