Python正则表达式提取坐标

2024-05-19 02:13:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于Python中正则表达式的问题。我正在做一个项目,我必须解析一堆巨大的文本文件,并将其中的某些部分提取到电子表格中。其中一部分是一堆批量大小,以"NUMBERxNUMBERxNUMBER..."的形式表示。它们存储在一条更大的线中间,像这样:

Spring st. , No. 208, 18.9x42.2x49x10x8x100. 'John S. Giles, exr. to Herman Goodstein, W. D. . 11,100

我正在尝试设计一个正则表达式,它将产生:

^{pr2}$

但我不太确定从哪里开始。设计这种类型的表达式的最佳方法是什么,其中可以有任意数量的数字(带小数点),用x分隔?空白会停止分析。 提前谢谢你的帮助,我真的很感激!


Tags: to项目no批量john形式电子表格st
1条回答
网友
1楼 · 发布于 2024-05-19 02:13:59
>>> import re
>>> s = '''Spring st. , No. 208, 18.9x42.2x49x10x8x100. 'John S. Giles, exr. to Herman Goodstein, W. D. . 11,100'''
>>> re.search('(?:\d+(?:\.\d+)?x)+\d+(?:\.\d+)?', s)
<_sre.SRE_Match object; span=(22, 43), match='18.9x42.2x49x10x8x100'>
>>> _.group(0)
'18.9x42.2x49x10x8x100'

正则表达式由两个\d+(?:\.\d+)?组成,这两个数字是可选的,后面跟着一个有更多位数的点。我们这样做是为了防止后面的圆点。表达式尽可能频繁地搜索这个“数字部分”,后跟一个x,然后需要最后一个“数字部分”。在

相关问题 更多 >

    热门问题