首页 > 解决方案 > 带组的正则表达式解析。为什么最终输出包含额外的元组

问题描述

您好,我正在尝试使用正则表达式组解析刺痛。最终输出看起来不错,但列表中有一个额外的元组是空的。我怎样才能解决这个问题。我不明白为什么会这样。

import re

def getRegEx():
    regex = '([-+]*)([\d]*)([a-z]*)([=|<=|>=]*)'
    return regex

equation_1 = '3x<=6+2y+7z'
pattern = getRegEx()
print(re.findall(pattern, equation_1))

Actual result:
[('', '3', 'x', '<='), ('', '6', '', ''), ('+', '2', 'y', ''), ('+', '7', 'z', ''), ('', '', '', '')]

Expected result: 
[('', '3', 'x', '<='), ('', '6', '', ''), ('+', '2', 'y', ''), ('+', '7', 'z', '')]

这个问题与一个珍贵的问题不同。我有多个。如果我用加号替换任何当前 *,我将无法获得所需的输出。

*

标签: pythonregex

解决方案


推荐阅读