2つの部分文字列間の文字列を検索する [重複] 質問する

2つの部分文字列間の文字列を検索する [重複] 質問する

2 つの部分文字列 ( ) の間にある文字列を見つけるにはどうすればよいですか'123STRINGabc' -> 'STRING'?

私の現在の方法は次のとおりです。

>>> start = 'asdf=5;'
>>> end = '123jasd'
>>> s = 'asdf=5;iwantthis123jasd'
>>> print((s.split(start))[1].split(end)[0])
iwantthis

しかし、これは非常に非効率的で、Python らしくないようです。このようなことを行うより良い方法は何でしょうか?

言い忘れましたが、文字列は および で始まって 終わるとは限りませんstartend前後にさらに文字がある可能性があります。

ベストアンサー1

import re

s = 'asdf=5;iwantthis123jasd'
result = re.search('asdf=5;(.*)123jasd', s)
print(result.group(1))

# returns 'iwantthis'

おすすめ記事