始める無料で始める

PythonでのRegEx

ルールベースの情報抽出は、多くのNLPタスクで役立ちます。日付や電話番号のような特定の種類のエンティティは、はっきりとした形式を持つため、モデルを学習しなくても、いくつかのルールで認識できます。この演習では、RegExのための re パッケージを使う練習をします。目的は、与えられた text から電話番号を見つけることです。

re パッケージはすでにインポートされています。\d を使うと、0〜9の任意の数字にマッチするメタ文字を表す文字パターンに一致させられます。

この演習はコースの一部です

spaCyで学ぶNatural Language Processing

コースを見る

演習の手順

  • 形式 (111)-111-1111 の電話番号にマッチするパターンを定義します。
  • re.finditer() メソッドを使って、すべての一致パターンを見つけます。
  • 各一致について、与えられた text の開始位置・終了位置・一致した部分を出力します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

text = "Our phone number is (425)-123-4567."

# Define a pattern to match phone numbers
pattern = r"\((____){____}\)-(____){____}-(____){____}"

# Find all the matching patterns in the text
phones = re.____(pattern, text)

# Print start and end characters and matching section of the text
for match in phones:
    start_char = match.____
    end_char = match.____
    print("Start character: ", ____, "| End character: ", ____, "| Matching text: ", text[____:____])
コードを編集して実行