如何在python中使用RE提取字符串?

时间:2018-01-20 15:45:30

标签: python regex

这是一个字符串:

'ObjectId("5a60a394ac73c233ba1acc55")'

我想获得“5a60a394ac73c233ba1acc55”,我如何使用正则表达式?

1 个答案:

答案 0 :(得分:1)

似乎是一个疯狂的问题,但为什么不呢

>>> myval = 'ObjectId("5a60a394ac73c233ba1acc55")'
>>> myval.split("(")[1]
'"5a60a394ac73c233ba1acc55")'
>>> myval.split("(")[1].split(")")[0]
'"5a60a394ac73c233ba1acc55"'
>>> import re

>>> re.findall('[a-zA-z0-9]', myval.split("(")[1].split(")")[0])
['5', 'a', '6', '0', 'a', '3', '9', '4', 'a', 'c', '7', '3', 'c', '2', '3', '3', 'b', 'a', '1', 'a', 'c', 'c', '5', '5']

>>> "".join(re.findall('[a-zA-z0-9]', myval.split("(")[1].split(")")[0]))
'5a60a394ac73c233ba1acc55'