我有一个python字符串,我正在尝试提取。我有一个有趣的问题:
>>> s="SKU 9780136058281, (ASIN B00A2KNZ2S, (binding Merchant: 'paperback' / 'hardcover'))"
>>> print(re.match('ASIN', s))
None
>>> print(re.match('SKU', s))
<_sre.SRE_Match object; span=(0, 3), match='SKU'>
我正试图在ASIN之后编号。我还是不能看到一个明显的问题。它匹配行的开头,但不在中间。
答案 0 :(得分:22)
您需要使用re.search
和grouping以及注意 re.match
匹配字符串开头的模式:
>>> s="SKU 9780136058281, (ASIN B00A2KNZ2S, (binding Merchant: 'paperback' / 'hardcover'))"
>>> import re
>>> re.search(r'SKU (\d+)',s).group(1)
'9780136058281'
r'SKU (\d+)
会匹配\d
之后的长度为1或更长的任何数字组合(SKU
)和空格!