簡體   English   中英

Python正則表達式匹配字符串的中間位置

[英]Python regex match middle of string

我有一個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之后加工一個數字。 我還是不能看到一個明顯的問題。 它匹配行的開頭,但不在中間。

您需要使用re.search分組 ,並注意 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+)將匹配SKU和空格后面的長度為1或更多的任何數字組合( \\d )!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM