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