[英]python Regex to find values between 2 strings
我有一个字符串: a = '*1357*0123456789012345678901234567890123456789*2468*'
我想在1357
和2468
之间找到一个值为0123456789012345678901234567890123456789
。
我想使用正则表达式或更简单的方法来提取值。
我尝试了re.findall(r'1357\\.(.*?)2468', a)
,但是我不知道我在哪里做错了。
您在这里有几个问题:
.
1357
年后,意思是文字.
,这不是您的本意 *
字符(这确实需要进行转义,当然)。 使长话短说:
re.findall(r'1357\*(.*?)\*2468', a)
如果您想要一种更通用或更灵活的方法,可以使用以下方法:
re.findall(r'\*\d+\*(\d+)\*\d+\*',a)
这将为您提供相同的输出:
['0123456789012345678901234567890123456789']
但是这样做的好处是,它可以为您提供由*
包围的任何一组数字值之间的值。 例如,这将适用于您的字符串,但也适用于字符串a = *0101*0123456789012345678901234567890123456789*0*
等
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.