【发布时间】:2014-05-26 09:08:55
【问题描述】:
我有这个正则表达式,用于将字符串拆分为以后可以处理的标记。我使用 RegExr(在线工具)制作了它,它在那里工作正常,但我无法让它在 python 中工作。我现在用它来打印比赛。
sunit = "A^2.1e2 m/s -180.2"
pat = "[A-Za-z]+(\^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?)?|\/|\*|[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?"
Terms = re.findall(pat,sunit)
print Terms
正则表达式应该匹配:
A^2.1e2
m
/
s
-180.2
【问题讨论】:
-
养成在定义正则表达式时使用原始字符串文字的习惯:不是“\.*”而是 r“\.*”。使用原始字符串文字(带有前导 'r' 字符),您不必将反斜杠加倍。
标签: python regex python-2.7