如何在 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