指定された 2 つの部分文字列の間で特定の部分文字列を抽出することは、さまざまなコーディング シナリオで共通の要件となる場合があります。 「123STRINGabc」から「STRING」を取得するために、「123」や「abc」などの区切り文字内のテキストを分離する必要がある状況を考えてみましょう。
提供されているもののような手動の文字列スライス手法 ((s. split(start))[1].split(end)[0]) は機能しますが、効率と Python の点で不十分です。エレガンス。
非常に効果的なソリューションは、Python の正規表現 (regex) を活用します。 Regex は、パターン マッチングおよび抽出タスクを実行するための簡潔で多用途な手段を提供します。この目的のために、次の正規表現パターンを利用できます:
asdf=5;(.*)123jasd
入力文字列に対して正規表現検索を実行するには、次のコードを使用できます。
import re s = 'asdf=5;iwantthis123jasd' result = re.search('asdf=5;(.*)123jasd', s) print(result.group(1)) # Output: 'iwantthis'
re.search() 関数は、指定された文字列をスキャンします。パターンを作成し、Match オブジェクトを返します。次に、 group(1) メソッドは、キャプチャされた部分文字列 (区切り文字間のテキスト) を取得します。
この正規表現ベースのアプローチには、次のようないくつかの利点があります。
結論として、正規表現を使用することは、次のような場合にエレガントで効率的なソリューションです。 Python で指定された 2 つの部分文字列の間の部分文字列を検索します。
以上がPython で指定された 2 つの部分文字列の間の部分文字列を効率的に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。