正则表达式之间的第一个字符串

时间:2016-01-22 16:24:53

标签: python regex

我有这个字符串

_text = 'ITEM|6945541514535242|2|'

如何使用正则表达式检索此字符串'6945541514535242'

'6945541514535242''2'介于'|'之间,但我只想获得第一个。

2 个答案:

答案 0 :(得分:2)

您可以使用正则表达式\|(\d+)\|re.search来获取第一个匹配项(如果有)。

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

答案 1 :(得分:0)

如果它可以是任何文本,您将需要进行“非贪婪”搜索:

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

?使它非贪婪,所以它尽可能少匹配