lupinganhui 发表于 2020-4-21 15:31:08

关于正则表达式提取数字问题

From 88882392653972 (31 seconds ago)
From 88882392653972 (3 mins ago)
From 88883125234543838743 (4 mins ago)
From 888802694107 (6 mins ago)
我想提取From与(之间所有的数字,求大神指点

suchocolate 发表于 2020-4-21 15:59:01

本帖最后由 suchocolate 于 2020-4-21 16:36 编辑

st1 = '''From 88882392653972 (31 seconds ago)
From 88882392653972 (3 mins ago)
From 88883125234543838743 (4 mins ago)
From 888802694107 (6 mins ago)'''

result = re.findall(r'From (\d*) \(', st1)
print(result)

lupinganhui 发表于 2020-4-21 16:39:50

suchocolate 发表于 2020-4-21 15:59


result = re.findall(r'From (\d*) \(', st1)

老大\( 这个是啥意思,能否解释一下

suchocolate 发表于 2020-4-21 16:55:23

lupinganhui 发表于 2020-4-21 16:39
result = re.findall(r'From (\d*) \(', st1)

老大\( 这个是啥意思,能否解释一下

1)组捕获,这样结果里就只显示括号里的,外面的就不显示了。
re.findall(r'From (\d*) \(', st1)

2)用斜杠转义(,把左括号当成普通字符来对待。
result = re.findall(r'From (\d*) \(', st1)
页: [1]
查看完整版本: 关于正则表达式提取数字问题