[英]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.