Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python】正規表現で文字列の末尾にマッチさせる方法

文字列の末尾にマッチさせるには

Pythonのreモジュールを使うと、正規表現によって文字列の末尾にある特定のパターンを簡単に抽出できます。文字列の最後に一致させるには、正規表現のメタ文字である $ を使用します。

$ は「文字列の終わり」を表す特殊文字です。パターンの末尾にこの記号を付けることで、文字列の最後にある単語だけをマッチさせることができます。

以下のコードでは、文字列「cheer leaders at the football stadium」の末尾にある単語「stadium」をマッチさせています。

コード例

import re

s = 'cheer leaders at the football stadium'
result = re.search(r'\w+$', s)
print(result.group())

実行結果

stadium

コードの解説

  • \w+:英数字およびアンダースコアからなる1文字以上の連続(単語)にマッチします。
  • $:文字列の末尾を表します。これにより、最後の単語のみがマッチ対象になります。
  • re.search():パターンが文字列内のどこかにマッチするかを調べ、最初にマッチしたMatchオブジェクトを返します。
  • result.group():実際にマッチした部分の文字列を取得します。

なお、Python 3では print は関数として扱われるため、print(result.group()) のように括弧で囲んで記述する必要があります。

  1. 【Python】正規表現を使って文字列内の単語をマッチ・抽出する方法

    次のコードは、指定された文字列の中から「meeting」という単語を抽出します。ここでは肯定の先読み(look-ahead)と肯定の後読み(look-behind)アサーションを使用しています。これにより、単語を囲む文字の存在を条件として考慮しつつ、その文字自体はマッチ結果に含めないようにできます。コード例import re s = https://www.google.com/meeting_agenda_minutes.html result = re.findall(r(?<=[\W_])meeting(?=[\W_]), s) print(result)出力[meeting]パ

  2. Pythonの正規表現で文字列が英数字のみかどうかを判定する方法

    正規表現を使った英数字チェックの基本Pythonで文字列が英字と数字(アルファベット・半角数字)のみで構成されているかどうかを確認するには、標準ライブラリの re モジュールを使用します。具体的には、re.match(regex, string) を呼び出し、パターンとして "^[a-zA-Z0-9]+$" を指定します。この正規表現の意味は以下の通りです。^:文字列の先頭からマッチを開始[a-zA-Z0-9]:英大文字・小文字または数字のいずれか1文字+:直前のパターンが1回以上繰り返される$:文字列の末尾まで一致することを保証実行例>>> import