使用Python的re模块,我尝试从以下陈述中获取金额数值:
在尝试
我绝不是一个正则表达式专家,但是我真的看不出我在这里做错了什么。乘法器组起作用,对我来说,target2组似乎是相同的模式,即结尾处的可选匹配。
我希望我表达得比较清楚...
- "$305,000 - $349,950" 应返回 (305000, 349950) 这样的元组
- "Mid $2M's Buyers" --> (2000000)
- "... Buyers Guide $1.29M+" --> (1290000)
- "...$485,000 and $510,000" --> (485000, 510000)
_pattern = r"""(?x)
^
.*
(?P<target1>
[€$£]
\d{1,3}
[,.]?
\d{0,3}
(?:[,.]\d{3})*
(?P<multiplyer1>[kKmM]?\s?[mM]?)
)
(?:\s(?:\-|\band\b|\bto\b)\s)?
(?P<target2>
[€$£]
\d{1,3}
[,.]?
\d{0,3}
(?:[,.]\d{3})*
(?P<multiplyer2>[kKmM]?\s?[mM]?)
)?
.*?
$
"""
在尝试
target2 = match.group("target2").strip()
时,target2总是显示为None
。我绝不是一个正则表达式专家,但是我真的看不出我在这里做错了什么。乘法器组起作用,对我来说,target2组似乎是相同的模式,即结尾处的可选匹配。
我希望我表达得比较清楚...