Python 如何使用正则表达式匹配任何非数字字符

Python 如何使用正则表达式匹配任何非数字字符

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

在本文中,我们将看到如何使用正则表达式在Python中提取非数字字符。我们使用 \D+ 正则表达式来从字符串中获取非数字字符。

其中,

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

使用findall()函数

在下面的示例中,假设我们将字符串“2018Tutorials point”作为字符串,我们需要消除数字2018并提取Tutorials point。

示例

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

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个孩子3个男孩2个女孩”作为输入短语。输出应该返回所有非数字的字符串。

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程