複数行のテキスト ブロックを Python 正規表現で照合する
このプログラミングの質問では、複数行にまたがる特定の形式のテキストを照合することを目的としています。 。入力テキストは、小文字と大文字の交互のブロックで構成されます。小文字のテキストは基本コンポーネントを表し、大文字のテキストはアミノ酸のシーケンスを表します。
問題ステートメント
このタスクは、入力テキストから 2 つのコンポーネントを取得できる正規表現を Python で作成することです:
出力は 2 つのキャプチャ グループに分割され、基本の小文字コンポーネントがグループ (1) に、大文字シーケンスがグループ (2) に含まれます。
解決策
この問題を解決するには、次の正規表現を利用できます:
re.compile(r"^(.+)\n((?:\n.+)+)", re.MULTILINE)
この正規表現は複数行モードで動作します。つまり、^ アンカーと $ アンカーは一致します。それぞれ行頭と行末。
説明
n((?:n. ) ): 基本コンポーネントに続く大文字テキストの連続行と一致します。
Usage
この正規表現を使用するには、次の手順に従います:
import re text = """ some Varying TEXT ... [lines of uppercase text] ... """ regex = re.compile(r"^(.+)\n((?:\n.+)+)", re.MULTILINE) match = regex.search(text) if match: lowercase_text = match.group(1) uppercase_text = match.group(2) # Process the captured text as needed
以上が複数行のテキスト ブロックを Python 正規表現と照合する方法: 小文字コンポーネントと大文字コンポーネントをキャプチャする?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。