如果我有一个字符串,其中包含美国形式的人类身高(英尺,英寸)
例如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"']
并返回需要更多的分割等。理想情况下,有一种方法可以使用正则表达式来完成所有操作。
答案 0 :(得分:1)
>>> r = re.compile('(\\d+)\'(\\d+)"')
>>> r.findall('''I've been 5'10" since I was 18''')
[('5', '10')]
答案 1 :(得分:1)
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])
还有瞧!