我想匹配字符串的数值:
1,000 metric tonnes per contract month
Five cents ($0.05) per tonne
Five cents ($0.05) per tonne
1,000 metric tonnes per contract month
我目前的做法:
size = re.findall(r'(\d+(,?\d*).*?)', my_string)
我的方法得到了什么:
print size
[(u'1,000', u',000')]
如您所见,数字1
被从列表的第二个元素中删除,这是为什么?另外,我能得到一个关于如何匹配$0.05
术语的提示吗?你知道吗
像这样:
演示:http://rubular.com/r/UomzIY3SD3
试试这个正则表达式:
Live demo
re,findall()
为每个匹配返回所有捕获组的元组,每组普通圆括号生成一个这样的组。这样写正则表达式:说明:
这假设所有的数字都有逗号千分隔符,也就是说没有像
1000000
这样的数字。如果您也需要匹配这些,请使用相关问题 更多 >
编程相关推荐