2016-01-22 261 views
0

之間的第一串我有這個字符串正則表達式字符

_text = 'ITEM|6945541514535242|2|' 

,我怎麼能檢索此字符串'6945541514535242'用正則表達式?

'6945541514535242''2'介於'|'之間,但我只想得到第一個。

+0

後你的企圖?分裂有什麼問題? –

+3

是否有任何理由爲什麼要使用正則表達式而不是'split'? –

回答

2

你可以使用正則表達式\|(\d+)\|re.search來獲得第一個匹配,如果有的話。

>>> _text = 'ITEM|6945541514535242|2|' 
>>> re.search(r'\|(\d+)\|', _text).group(1) 
'6945541514535242' 
0

如果它可以是你需要做一個「非貪婪」的搜索條件的文本:

>>> _text = 'ITEM|abcd6945541514535242|2|' 
>>> re.search(r'\|(.*?)\|', _text).group(1) 
'abdc6945541514535242' 

的?使它不貪婪,所以它儘可能少匹配