regex 如何从字符串中提取人体身高(US)

t30tvxxf  于 2023-06-25  发布在  其他
关注(0)|答案(2)|浏览(112)

如果我有一个字符串,其中包含美国形式的人类身高(英尺,英寸)
例如I've been 5'10" since I was 18
如何使用正则表达式将5'10”提取为元组?
例如(5, 10)
到目前为止,我试过:

s = "I've been 5'10\" since I was 18"
re.findall(r'\d\'\d+\"', s)

希望抓取第一个数字,它应该是一个数字\d,然后接下来的两个数字是\d+,但这并不是很干净,返回['5\'10"']并需要更多的分割等。理想情况下,有一种方法可以用正则表达式来完成这一切。

hvvq6cgz

hvvq6cgz1#

>>> r = re.compile('(\\d+)\'(\\d+)"')
>>> r.findall('''I've been 5'10" since I was 18''')
[('5', '10')]
atmip9wb

atmip9wb2#

import re
a='''I've been 5'10" since I was 18''' #triple quotes to account for " after 10
p=re.compile(r"[0-9]+'[0-9]{2}\"")
print(re.findall(p,a)[0])

瞧!

相关问题