您可以尝试使用
findall
它以字符串列表的形式返回Patterninstring的所有非重叠匹配项。
import re
m = "Example text 'citedby':34567" # just an example.
n = re.findall(r"'citedby':\s?(\d+)", m, re.IGNORECASE)
print(' '.join(n)) # 34567
对于您的具体问题:
import scholarly
import re
m = next(scholarly.search_pubs_query('Perception of physical stability and center of mass of 3D objects'))
n = re.findall(r"'citedby':\s?(\d+)", str(m), re.IGNORECASE)
print(''.join(n)) # 13
笔记
:此处
m
是
<class 'scholarly.Publication'>
对象
str(m)
成功了
<class 'str'>
。
芬德尔
仅适用于字符串。