サイモン・ウィリソンズ・ウェブログ (Simon Willison's Weblog) は2026年9月11日(現地時間)、Python 3.15のリリースマネージャーであるヒューゴ・ファン・ケメナーデ (Hugo van Kemenade) 氏が、次期Python 3.15リリースで正規表現関数 `re.match()` をソフト非推奨化すると説明したと報じた。これは、APIが将来的に削除されることなく「新しいコードを書くために使用すべきではない」とマークされる「ソフト非推奨化」の概念に基づく措置。混乱を招きやすかった`re.match()`の代替として、より挙動が明確な名称の`re.prefixmatch()`が導入される。
Pythonにおける「ソフト非推奨化」とは、特定のAPIを、将来的な削除を約束または脅威とすることなく、新しいコードの記述に使用すべきではないと指定する概念であると説明されている。
ケメナーデ氏は、長年Pythonに存在しながらも、その挙動が深く混乱を招くことが指摘されてきたre.match()関数がこの措置の対象となると述べている。
具体的には、re.match()は文字列の先頭にのみマッチするものの、その末尾は固定されないという特性を持つ。この特性が開発者にとって直感的でないケースがあり、誤用につながる可能性があった。これに対し、新しく導入されるre.prefixmatch()は、この「文字列の先頭に固定される」という挙動をその名称によってより明確に反映している。
開発者に対しては、ほとんどの場面で、文字列内の任意の場所でパターンにマッチさせるためのre.search()、あるいは文字列全体に厳密にマッチさせるためのre.fullmatch()の使用が適切であると推奨されている。これらの関数は、re.match()が引き起こしがちな挙動の曖昧さを回避し、意図した通りの正規表現処理をより明確に実現できる。
参考: Simon Willison’s Weblog (アーカイブ) — 2026年9月11日 23:47 (JST)
原文ハイライト"Soft-deprecating re.match()"