【发布时间】:2014-01-24 10:12:31
【问题描述】:
我正在尝试编写一个 Python 正则表达式,它只匹配一个不包含特定字符串的组。
考虑以下字符串:
VOID ALL $-11.20
CANCEL $-6.00
-10.00% LP $-0.25
LOYALTY CARD $-2.50
我希望正则表达式匹配并提取 -10.00% LP 和 LOYALTY CARD。如果遇到VOID ALL 或CANCEL,它将拒绝该字符串。
我有以下正则表达式 (?P<discount_reason>(?!(CANCEL|VOID\sALL)).+) [$|£]?-(?P<discount_value>[0-9]*\.[0-9]{2}),它正确提取了 discount_reason 和 discount_value 组,但很高兴接受 VOID ALL 和 CANCEL。
我错过了什么?
【问题讨论】: