慕运维8079593
一般来说,当您想使用 Python 正则表达式从文本中提取正整数或负整数或浮点数时,可以使用以下模式re.findall(r'[-+]?(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d+)?', text)请参阅此正则表达式演示。注意:\d{1,3}(?:,\d{3})+alternative 匹配以逗号作为千位分隔符的整数。您可以调整它以匹配您需要的千位分隔符,例如,\xA0如果千位分隔符是一个不间断的空格,或者\.它是一个点等。更多选项看起来像re.findall(r'[-+]?\d+(?:\.\d+)?', text) # Integer part is compulsory, e.g. 5.55
re.findall(r'[-+]?\d*\.?\d+', text) # Also matches .57 or -.76在这里,您要提取介于>和<字符之间的任何数字。您可以使用re.findall(r'>([-+]?\d[\d,.]*)<', text)请参阅正则表达式演示。细节>- 一个>字符([-+]?\d[\d,.]*)- 第 1 组:[-+]?- 一个可选的-或+\d- 一个数字[\d,.]*- 0 个或多个数字,,或.请参阅Python 演示:import rest='''["FL gr_20 T3\'><strong>+1,921.15</strong>"]' st='["FL gr_20 T3\'><strong>-921.15</strong>"]' st='["FL gr_20 T3\'><strong>21.15</strong>"]' st='["FL gr_20 T3\'><strong>1,11,921.15</strong>"]' st='["FL gr_20 T3\'><strong>1,921</strong>"]' st='["FL gr_20 T3\'><strong>112921</strong>"]' st='["FL gr_20 T3\'><strong>1.15</strong>"]' st='["FL gr_20 T3\'><strong>1</strong>"]'''print(re.findall(r'>([-+]?\d[\d,.]*)<', st))# => ['+1,921.15', '-921.15', '21.15', '1,11,921.15', '1,921', '112921', '1.15', '1']