如何将以下内容与正则表达式匹配?
string1 = '1.0) The Ugly Duckling (TUD) (10 Dollars)'
string2 = '1.0) Little 1 Red Riding Hood (9.50 Dollars)'
我正在尝试以下操作:
groupsofmatches = re.match('(?P<booknumber>.*)\)([ \t]+)?(?P<item>.*)(\(.*\))?\(.*?((\d+)?(\.\d+)?).*([ \t]+)?Dollars(\))?', string1)
问题是当我将它应用于 string2 时它工作正常,但是当我将表达式应用于 string1 时,由于“(TUD)”部分,我无法获得“m.group(name)”。我想使用一个适用于两个字符串的表达式。
我预计:
booknumber = 1.0
item = The Ugly Duckling (TUD)