在 Python 中如何通过 RegEx 获取匹配字符串的一部分?
How could I get a part of a match string by RegEx in Python?
我现在正在通过 python 制作网络蜘蛛,程序的某些部分要求我从网站获取一些字符串,例如 data-id="48859672"。我已经使用以下方法成功获得了这些字符串:
pattern=re.compile(r'\bdata-id="\d+"')
m=pattern.search(html,start)
但我现在想知道如何只获取字符串的数字部分,而不是整个字符串?
使用capturing group or lookarounds.
>>> pattern=re.compile(r'\bdata-id="(\d+)"')
>>> s = 'data-id="48859672"'
>>> pattern.search(s).group(1)
'48859672'
或
>>> pattern=re.compile(r'(?<=\bdata-id=")\d+(?=")')
>>> s = 'data-id="48859672"'
>>> pattern.search(s).group()
'48859672'
我现在正在通过 python 制作网络蜘蛛,程序的某些部分要求我从网站获取一些字符串,例如 data-id="48859672"。我已经使用以下方法成功获得了这些字符串:
pattern=re.compile(r'\bdata-id="\d+"')
m=pattern.search(html,start)
但我现在想知道如何只获取字符串的数字部分,而不是整个字符串?
使用capturing group or lookarounds.
>>> pattern=re.compile(r'\bdata-id="(\d+)"')
>>> s = 'data-id="48859672"'
>>> pattern.search(s).group(1)
'48859672'
或
>>> pattern=re.compile(r'(?<=\bdata-id=")\d+(?=")')
>>> s = 'data-id="48859672"'
>>> pattern.search(s).group()
'48859672'