簡體   English   中英

python Regex查找2個字符串之間的值

[英]python Regex to find values between 2 strings

我有一個字符串: a = '*1357*0123456789012345678901234567890123456789*2468*'

我想在13572468之間找到一個值為0123456789012345678901234567890123456789

我想使用正則表達式或更簡單的方法來提取值。

我嘗試了re.findall(r'1357\\.(.*?)2468', a) ,但是我不知道我在哪里做錯了。

您在這里有幾個問題:

  1. 您正在逃脫. 1357年后,意思是文字. ,這不是您的本意
  2. 你是不是治療*字符(這確實需要進行轉義,當然)。

使長話短說:

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.

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